Skip to content

Commit 034d0cf

Browse files
v-einhoffstadt
authored andcommitted
fix (win32): No more hanging up when the viewport it resized. Removed WM_SIZING as it is not needed and was processed incorrectly (#2401).
Reworked the message loop so that it processes all pending messages rather than one message per frame (#544, #1571, #2357). Continue rendering when the viewport is being moved or resized by the user. Sending resize events, too (#1896, #2217). Removed unused width/height fields from mvViewport.
1 parent 8e92bb1 commit 034d0cf

5 files changed

Lines changed: 121 additions & 161 deletions

File tree

src/dearpygui_commands.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2156,7 +2156,7 @@ create_viewport(PyObject* self, PyObject* args, PyObject* kwargs)
21562156
))
21572157
return GetPyNone();
21582158

2159-
mvViewport* viewport = mvCreateViewport(width, height);
2159+
mvViewport* viewport = mvCreateViewport();
21602160
if (PyObject* item = PyDict_GetItemString(kwargs, "clear_color")) viewport->clearColor = ToColor(item);
21612161
if (PyObject* item = PyDict_GetItemString(kwargs, "small_icon")) viewport->small_icon = ToString(item);
21622162
if (PyObject* item = PyDict_GetItemString(kwargs, "large_icon")) viewport->large_icon = ToString(item);

src/mvViewport.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ struct mvViewport
3939
// position/size
4040
b8 sizeDirty = false;
4141
b8 posDirty = false;
42-
u32 width = 0;
43-
u32 height = 0;
4442
u32 minwidth = 250;
4543
u32 minheight = 250;
4644
u32 maxwidth = 10000;
@@ -56,7 +54,7 @@ struct mvViewport
5654

5755
};
5856

59-
mvViewport* mvCreateViewport (u32 width, u32 height);
57+
mvViewport* mvCreateViewport ();
6058
void mvCleanupViewport (mvViewport& viewport);
6159
void mvShowViewport (mvViewport& viewport, b8 minimized, b8 maximized);
6260
void mvMaximizeViewport(mvViewport& viewport);

src/mvViewport_apple.mm

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@
1111
#include <stdio.h>
1212

1313
mvViewport*
14-
mvCreateViewport(unsigned width, unsigned height)
14+
mvCreateViewport()
1515
{
1616
auto viewport = new mvViewport();
17-
viewport->width = width;
18-
viewport->height = height;
1917
viewport->platformSpecifics = new mvViewportData();
2018
return viewport;
2119
}
@@ -236,9 +234,6 @@
236234
viewportData->layer.drawableSize = CGSizeMake(width, height);
237235
id <CAMetalDrawable> drawable = [viewportData->layer nextDrawable];
238236

239-
viewport->width = (unsigned)width;
240-
viewport->height = (unsigned)height;
241-
242237
id <MTLCommandBuffer> commandBuffer = [graphicsData->commandQueue commandBuffer];
243238
graphicsData->renderPassDescriptor.colorAttachments[0].clearColor = MTLClearColorMake(viewport->clearColor.r,
244239
viewport->clearColor.g,

src/mvViewport_linux.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,11 +107,9 @@ mvPrerender()
107107
}
108108

109109
mvViewport*
110-
mvCreateViewport(unsigned width, unsigned height)
110+
mvCreateViewport()
111111
{
112112
mvViewport* viewport = new mvViewport();
113-
viewport->width = width;
114-
viewport->height = height;
115113
viewport->platformSpecifics = new mvViewportData();
116114
return viewport;
117115
}

0 commit comments

Comments
 (0)