我有一个800x480 res的设备.当我创建GLSurfaceView时,我onSurfaceChanged接到一个533x320 的呼叫(显然应用了1.5 HDPI修改器)并且表面被放大了.所以当我画1像素粗线看起来真的很糟糕,我不能有像素完美的渲染.
我想要的是原始分辨率表面(800x480).
View以这种方式创建(如在NDK OpenGL示例中),在Activity中onCreate:
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
view = new MyGLSurfaceView(this);
setContentView(view);
Run Code Online (Sandbox Code Playgroud)
我不使用任何布局等.
我想定义一些属性,如:
#define property(T, x) T x; T get ## x (); void set ## x (T value);
class foo {
public:
property(int, count);
property(float, size);
}
Run Code Online (Sandbox Code Playgroud)
但我希望方法被称为getCount/setCount而不是getcount/setcount.