|
@@ -479,6 +479,11 @@ int la_CreateSystemWindow(laWindow *window, int SyncToVBlank){
|
|
la_SetCurrentGLContextDebug();
|
|
la_SetCurrentGLContextDebug();
|
|
glGenVertexArrays(1,&window->vao); tnsBindVertexArray(window->vao);
|
|
glGenVertexArrays(1,&window->vao); tnsBindVertexArray(window->vao);
|
|
la_SetupWindowGLStates(window);
|
|
la_SetupWindowGLStates(window);
|
|
|
|
+
|
|
|
|
+ window->OutputShowStripes=1; window->Redraw=1;
|
|
|
|
+ window->GLDebugNeedsUpdate=1;
|
|
|
|
+ window->UseComposing=0; window->ComposingGamma=1.0; window->ComposingBlackpoint=0.0;
|
|
|
|
+
|
|
return 1;
|
|
return 1;
|
|
};
|
|
};
|
|
|
|
|
|
@@ -1835,9 +1840,19 @@ void la_PanelDrawToWindow(laPanel *p, laWindow *w){
|
|
if(MAIN.EnableColorManagement){
|
|
if(MAIN.EnableColorManagement){
|
|
tnsUniformOutputColorSpace(T->immShader,w->OutputColorSpace);
|
|
tnsUniformOutputColorSpace(T->immShader,w->OutputColorSpace);
|
|
tnsUniformShowColorOverflowStripes(T->immShader,w->OutputShowStripes);
|
|
tnsUniformShowColorOverflowStripes(T->immShader,w->OutputShowStripes);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,w->UseComposing,w->ComposingGamma,w->ComposingBlackpoint);
|
|
}else{
|
|
}else{
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformShowColorOverflowStripes(T->immShader,0);
|
|
tnsUniformShowColorOverflowStripes(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (p->Mode && (!p->AnimationMode || (p->AnimationMode && p->AnimationRatio > 0.99))){
|
|
|
|
+ tnsUseNoTexture();
|
|
|
|
+ if (!p->IsMenuPanel){
|
|
|
|
+ la_PanelDrawDescendBorder(p, (*p->BT), MAIN.SolidShadowLength, MAIN.FloatingAlpha);
|
|
|
|
+ }
|
|
|
|
+ tnsFlush();
|
|
}
|
|
}
|
|
|
|
|
|
switch (p->AnimationMode){
|
|
switch (p->AnimationMode){
|
|
@@ -1933,6 +1948,7 @@ void la_PanelDrawToWindow(laPanel *p, laWindow *w){
|
|
|
|
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformShowColorOverflowStripes(T->immShader,0);
|
|
tnsUniformShowColorOverflowStripes(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
}
|
|
}
|
|
void la_PanelDrawToOffsceen(laPanel *p, laUiList *uil){
|
|
void la_PanelDrawToOffsceen(laPanel *p, laUiList *uil){
|
|
if (p->OffScr){ tnsEnsureOffscreenStatus(p->OffScr, p->W,p->H); }
|
|
if (p->OffScr){ tnsEnsureOffscreenStatus(p->OffScr, p->W,p->H); }
|
|
@@ -2064,17 +2080,7 @@ void la_PanelDefDraw(laWindow *w, laPanel *p, laBoxedTheme *bt){
|
|
tnsDrawToScreen();
|
|
tnsDrawToScreen();
|
|
tnsViewportWithScissor(0, 0, w->CW, w->CH);
|
|
tnsViewportWithScissor(0, 0, w->CW, w->CH);
|
|
tnsOrtho(0, w->CW, w->CH, 0, -100, 100);
|
|
tnsOrtho(0, w->CW, w->CH, 0, -100, 100);
|
|
-
|
|
|
|
- if (p->Mode && (!p->AnimationMode || (p->AnimationMode && p->AnimationRatio > 0.99))){
|
|
|
|
- tnsUseNoTexture();
|
|
|
|
- if (!p->IsMenuPanel){
|
|
|
|
- la_PanelDrawDescendBorder(p, bt, MAIN.SolidShadowLength, MAIN.FloatingAlpha);
|
|
|
|
- }
|
|
|
|
- tnsFlush();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
la_PanelDrawToWindow(p, w);
|
|
la_PanelDrawToWindow(p, w);
|
|
-
|
|
|
|
}elif (p->AnimationMode){
|
|
}elif (p->AnimationMode){
|
|
la_PanelDrawToWindow(p, w);
|
|
la_PanelDrawToWindow(p, w);
|
|
}
|
|
}
|
|
@@ -2211,8 +2217,10 @@ void la_BlockDefDrawSelf(laBlock *b, int CH){
|
|
tnsUseImmShader(); tnsEnableShaderv(T->immShader);
|
|
tnsUseImmShader(); tnsEnableShaderv(T->immShader);
|
|
if(MAIN.EnableColorManagement){
|
|
if(MAIN.EnableColorManagement){
|
|
tnsUniformOutputColorSpace(T->immShader,MAIN.CurrentWindow->OutputColorSpace);
|
|
tnsUniformOutputColorSpace(T->immShader,MAIN.CurrentWindow->OutputColorSpace);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,MAIN.CurrentWindow->UseComposing,MAIN.CurrentWindow->ComposingGamma,MAIN.CurrentWindow->ComposingBlackpoint);
|
|
}else{
|
|
}else{
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
}
|
|
}
|
|
|
|
|
|
for (p = b->Panels.pFirst; p; p = p->Item.pNext){
|
|
for (p = b->Panels.pFirst; p; p = p->Item.pNext){
|
|
@@ -2276,6 +2284,7 @@ void la_BlockDefDrawSelf(laBlock *b, int CH){
|
|
tnsFlush();
|
|
tnsFlush();
|
|
|
|
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
}
|
|
}
|
|
void la_BlockDefDrawSelfEmpty(laBlock *b, int CH){
|
|
void la_BlockDefDrawSelfEmpty(laBlock *b, int CH){
|
|
laBoxedTheme *bt = _LA_THEME_PANEL;
|
|
laBoxedTheme *bt = _LA_THEME_PANEL;
|
|
@@ -2284,8 +2293,10 @@ void la_BlockDefDrawSelfEmpty(laBlock *b, int CH){
|
|
tnsUseImmShader(); tnsEnableShaderv(T->immShader);
|
|
tnsUseImmShader(); tnsEnableShaderv(T->immShader);
|
|
if(MAIN.EnableColorManagement){
|
|
if(MAIN.EnableColorManagement){
|
|
tnsUniformOutputColorSpace(T->immShader,MAIN.CurrentWindow->OutputColorSpace);
|
|
tnsUniformOutputColorSpace(T->immShader,MAIN.CurrentWindow->OutputColorSpace);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,MAIN.CurrentWindow->UseComposing,MAIN.CurrentWindow->ComposingGamma,MAIN.CurrentWindow->ComposingBlackpoint);
|
|
}else{
|
|
}else{
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
}
|
|
}
|
|
|
|
|
|
tnsUseNoTexture();
|
|
tnsUseNoTexture();
|
|
@@ -2302,6 +2313,7 @@ void la_BlockDefDrawSelfEmpty(laBlock *b, int CH){
|
|
tnsFlush();
|
|
tnsFlush();
|
|
|
|
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
}
|
|
}
|
|
void la_BlockDefDrawRecursive(laWindow *w, laBoxedTheme *bt, laBlock *b){
|
|
void la_BlockDefDrawRecursive(laWindow *w, laBoxedTheme *bt, laBlock *b){
|
|
if (b->B1){
|
|
if (b->B1){
|
|
@@ -2405,9 +2417,11 @@ void la_WindowDefDraw(laWindow *w, laBoxedTheme *bt){
|
|
if(p->Refresh){
|
|
if(p->Refresh){
|
|
tnsUseShader(T->immShader);tnsEnableShaderv(T->immShader);
|
|
tnsUseShader(T->immShader);tnsEnableShaderv(T->immShader);
|
|
if(MAIN.EnableColorManagement){
|
|
if(MAIN.EnableColorManagement){
|
|
- tnsUniformOutputColorSpace(T->immShader,MAIN.CurrentWindow->OutputColorSpace);
|
|
|
|
|
|
+ tnsUniformOutputColorSpace(T->immShader,w->OutputColorSpace);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,w->UseComposing,w->ComposingGamma,w->ComposingBlackpoint);
|
|
}else{
|
|
}else{
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
tnsUniformOutputColorSpace(T->immShader,0);
|
|
|
|
+ tnsUniformColorComposing(T->immShader,0,0,0);
|
|
}
|
|
}
|
|
if(p->Refresh&LA_TAG_RECALC){
|
|
if(p->Refresh&LA_TAG_RECALC){
|
|
laRecalcPanelImmediate(p);
|
|
laRecalcPanelImmediate(p);
|
|
@@ -2500,8 +2514,6 @@ laWindow *laDesignWindow(int X, int Y, int W, int H){
|
|
|
|
|
|
strSafeSet(&n->Title, "Empty SYSWINDOW");
|
|
strSafeSet(&n->Title, "Empty SYSWINDOW");
|
|
n->X = X; n->Y = Y; n->W = W; n->H = H;
|
|
n->X = X; n->Y = Y; n->W = W; n->H = H;
|
|
- n->OutputShowStripes=1; n->Redraw=1;
|
|
|
|
- n->GLDebugNeedsUpdate=1;
|
|
|
|
|
|
|
|
la_CreateSystemWindow(n, MAIN.Windows.pFirst!=0);
|
|
la_CreateSystemWindow(n, MAIN.Windows.pFirst!=0);
|
|
|
|
|