|
@@ -529,6 +529,17 @@ void laSetFontFolderPath(char* absolute){
|
|
if(MAIN.SysFontDir[len-1]!='/'){ MAIN.SysFontDir[len]='/'; MAIN.SysFontDir[len+1]=0; }
|
|
if(MAIN.SysFontDir[len-1]!='/'){ MAIN.SysFontDir[len]='/'; MAIN.SysFontDir[len+1]=0; }
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void laProcessInitArguments(int argc, char* argv[]) {
|
|
|
|
+ MAIN.GLMajor=MAIN.GLMinor=-1;
|
|
|
|
+ char* arg = 0;
|
|
|
|
+ printf("%d\n",argc);
|
|
|
|
+ for(int i=0;i<argc;i++){
|
|
|
|
+ printf("%s\n",argv[i]);
|
|
|
|
+ if(strstr(argv[i], "--gl-version=")==argv[i]){ arg=&argv[i][strlen(argv[i])-3];
|
|
|
|
+ if(arg[0]>='2'&&arg[0]<='4'&&arg[1]=='.'&&arg[2]>='0'&&arg[2]<= '9'){ MAIN.GLMajor=arg[0]-'0'; MAIN.GLMinor=arg[2]-'0'; }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
int laGetReadyWith(int GLMajor, int GLMinor, int BufferSamples){
|
|
int laGetReadyWith(int GLMajor, int GLMinor, int BufferSamples){
|
|
#ifdef __linux__
|
|
#ifdef __linux__
|
|
SYSWINDOW root, win;
|
|
SYSWINDOW root, win;
|
|
@@ -552,8 +563,9 @@ int laGetReadyWith(int GLMajor, int GLMinor, int BufferSamples){
|
|
}
|
|
}
|
|
|
|
|
|
la_ScanWacomDevices(MAIN.dpy,XIAllDevices);
|
|
la_ScanWacomDevices(MAIN.dpy,XIAllDevices);
|
|
-
|
|
|
|
- MAIN.GLMajor=GLMajor; MAIN.GLMinor=GLMinor; MAIN.BufferSamples=BufferSamples;
|
|
|
|
|
|
+
|
|
|
|
+ MAIN.GLMajor=MAIN.GLMajor<0?GLMajor:3; MAIN.GLMinor=MAIN.GLMinor<0:GLMinor:3; MAIN.BufferSamples=BufferSamples;
|
|
|
|
+ logPrint("Chosen OpenGL version %d.%d\n",MAIN.GLMajor,MAIN.GLMinor);
|
|
|
|
|
|
int visual_attribs[] = {
|
|
int visual_attribs[] = {
|
|
GLX_X_RENDERABLE , True,
|
|
GLX_X_RENDERABLE , True,
|
|
@@ -632,6 +644,8 @@ int laGetReadyWith(int GLMajor, int GLMinor, int BufferSamples){
|
|
MAIN.wmfullscroff=XInternAtom(MAIN.dpy,"_NET_WM_STATE_FULLSCREEN",0);
|
|
MAIN.wmfullscroff=XInternAtom(MAIN.dpy,"_NET_WM_STATE_FULLSCREEN",0);
|
|
#endif //linux
|
|
#endif //linux
|
|
#ifdef _WIN32
|
|
#ifdef _WIN32
|
|
|
|
+ logPrintNew("Initializing LaGUI...\n");
|
|
|
|
+
|
|
setlocale(LC_ALL, "zh_CN.utf8");
|
|
setlocale(LC_ALL, "zh_CN.utf8");
|
|
|
|
|
|
MAIN.hinstance = GetModuleHandle(NULL);
|
|
MAIN.hinstance = GetModuleHandle(NULL);
|
|
@@ -651,8 +665,9 @@ int laGetReadyWith(int GLMajor, int GLMinor, int BufferSamples){
|
|
wt.lpszMenuName = 0;
|
|
wt.lpszMenuName = 0;
|
|
wt.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
|
wt.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
|
|
if (!RegisterClassExW(&wt)) return 0;
|
|
if (!RegisterClassExW(&wt)) return 0;
|
|
-
|
|
|
|
- MAIN.GLMajor = GLMajor; MAIN.GLMinor = GLMinor; MAIN.BufferSamples = BufferSamples;
|
|
|
|
|
|
+
|
|
|
|
+ MAIN.GLMajor=MAIN.GLMajor<0?GLMajor:3; MAIN.GLMinor=MAIN.GLMinor<0?GLMinor:3; MAIN.BufferSamples=BufferSamples;
|
|
|
|
+ logPrint("Chosen OpenGL version %d.%d\n", MAIN.GLMajor, MAIN.GLMinor);
|
|
|
|
|
|
SetProcessDPIAware();
|
|
SetProcessDPIAware();
|
|
|
|
|
|
@@ -673,6 +688,10 @@ int laGetReadyWith(int GLMajor, int GLMinor, int BufferSamples){
|
|
// MAIN.tWND = hwnd;
|
|
// MAIN.tWND = hwnd;
|
|
MAIN.glc = hglrc;
|
|
MAIN.glc = hglrc;
|
|
|
|
|
|
|
|
+ int major, minor; glGetIntegerv(GL_MAJOR_VERSION, &major); glGetIntegerv(GL_MINOR_VERSION, &minor);
|
|
|
|
+ logPrint(" OpenGL Version: %d.%d\n", major, minor);
|
|
|
|
+ logPrint(" OpenGL Renderer: %s\n", glGetString(GL_RENDERER));
|
|
|
|
+
|
|
if (err = glewInit()) {
|
|
if (err = glewInit()) {
|
|
printf("Init Glew Failed\n");
|
|
printf("Init Glew Failed\n");
|
|
printf("glewGetErrorString: %s\n", glewGetErrorString(err));
|
|
printf("glewGetErrorString: %s\n", glewGetErrorString(err));
|