window.Render(updateExtent);
FASTLIST_LOOP(updateExtent, extentBox)
- Update3DWindow(window, extentBox.box);
+ {
+ Box box
+ {
+ window.clientStart.x + extentBox.box.left, window.clientStart.y + extentBox.box.top,
+ window.clientStart.x + extentBox.box.right, window.clientStart.y + extentBox.box.bottom
+ };
+ Update3DWindow(window, box);
+ }
updateExtent.Free(null);
}
{
int x = absPosition.x + clientStart.x;
int y = absPosition.y + clientStart.y;
- if(rootWindow.nativeDecorations && rootWindow.windowHandle)
+ if(rootWindow.nativeDecorations && rootWindow.windowHandle && !is3D)
{
x -= rootWindow.clientStart.x;
y -= rootWindow.clientStart.y - (rootWindow.hasMenuBar ? skinMenuHeight : 0);
{
int x = absPosition.x;
int y = absPosition.y;
- if(rootWindow.nativeDecorations && rootWindow.windowHandle)
+ if(rootWindow.nativeDecorations && rootWindow.windowHandle && !is3D)
{
x -= rootWindow.clientStart.x;
y -= rootWindow.clientStart.y - (rootWindow.hasMenuBar ? skinMenuHeight : 0);
void _ShowDecorations(Box box, bool post)
{
- if(rootWindow == this && nativeDecorations) return;
+ if(rootWindow == this && nativeDecorations && !is3D) return;
if(visible && this != guiApp.desktop)
{
Surface surface = RedrawFull(box);
*h += statusBarHeight;
}
- if(nativeDecorations && rootWindow == this && windowHandle)
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D)
{
#if defined(WIN32)
RECT rcClient = { 0 }, rcWindow = { 0 };
void SetWindowMinimum(MinMaxValue * mw, MinMaxValue * mh)
{
bool isNormal = (state == normal);
- if(nativeDecorations && rootWindow == this && windowHandle) return;
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D) return;
if(((BorderBits)borderStyle).fixed && (state != maximized || !GetParentMenuBar()))
{
*mw = MIN_WIDTH;
GetDecorationsSize(&aw, &ah);
- if(nativeDecorations && rootWindow == this && windowHandle)
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D)
{
#if defined(WIN32)
- RECT rcWindow;
+ RECT rcWindow = { 0, 0, 0, 0 };
POINT client00 = { 0, 0 };
ClientToScreen(windowHandle, &client00);
GetWindowRect(windowHandle, &rcWindow);
int top = 0, border = 0, bottom = 0;
Window parentMenuBar = GetParentMenuBar();
- if(nativeDecorations && rootWindow == this && windowHandle) return;
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D) return;
if(state == minimized)
top = border = bottom = DEAD_BORDER;
{
bool isNormal = (state == normal);
bool result = false;
- if(nativeDecorations && rootWindow == this && windowHandle) return false;
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D) return false;
if(((BorderBits)borderStyle).fixed && (state != maximized || !GetParentMenuBar()))
{
bool result = false;
*resizeX = *resizeY = *resizeEndX = *resizeEndY = false;
- if(nativeDecorations && rootWindow == this && windowHandle) return false;
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D) return false;
if(((BorderBits)borderStyle).sizable && (state == normal))
{
int top = 0, border = 0;
int insideBorder = 0;
- if(!nativeDecorations || rootWindow != this || !windowHandle)
+ if(!nativeDecorations || rootWindow != this || !windowHandle || is3D)
{
if(state == minimized)
top = border = DEAD_BORDER;
else
{
statusBar.visible = true;
- if(nativeDecorations && rootWindow == this && windowHandle)
+ if(nativeDecorations && rootWindow == this && windowHandle && !is3D)
{
statusBar.anchor = { left = clientStart.x, bottom = (int)(size.h - clientSize.h - clientStart.y - statusBarHeight ) };
statusBar.size.w = size.w - insideBorder * 2;
}
}
}
- if(!nativeDecorations || rootWindow != this || !windowHandle)
+ if(!nativeDecorations || rootWindow != this || !windowHandle || is3D)
{
if(sysButtons[0])
{