Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 253afeb

Browse filesBrowse files
committed
revert, just disallow left and top edges for now
1 parent 841a9f1 commit 253afeb
Copy full SHA for 253afeb

File tree

8 files changed

+61
-120
lines changed
Filter options

8 files changed

+61
-120
lines changed

‎examples/guis/sine_cosine_funcs.py

Copy file name to clipboardExpand all lines: examples/guis/sine_cosine_funcs.py
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# test_example = false
1010
# sphinx_gallery_pygfx_docs = 'screenshot'
1111

12-
12+
import glfw
1313
import numpy as np
1414
import fastplotlib as fpl
1515
from fastplotlib.ui import EdgeWindow
@@ -169,8 +169,8 @@ def update(self):
169169

170170
gui = GUIWindow(
171171
figure=figure,
172-
size=80,
173-
location="top",
172+
size=100,
173+
location="right",
174174
title="Freq. coeffs"
175175
)
176176

‎fastplotlib/layouts/_engine.py

Copy file name to clipboardExpand all lines: fastplotlib/layouts/_engine.py
+7-13Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ def __init__(
3131
self,
3232
renderer: pygfx.WgpuRenderer,
3333
subplots: np.ndarray[Subplot],
34-
canvas_rect: tuple[float, float, float, float],
35-
render_rect: tuple[float, float, float, float],
34+
canvas_rect: tuple[float, float],
3635
moveable: bool,
3736
resizeable: bool,
3837
):
@@ -42,7 +41,6 @@ def __init__(
4241
self._renderer = renderer
4342
self._subplots: np.ndarray[Subplot] = subplots.ravel()
4443
self._canvas_rect = canvas_rect
45-
self._render_rect = render_rect
4644

4745
self._last_pointer_pos: np.ndarray[np.float64, np.float64] = np.array(
4846
[np.nan, np.nan]
@@ -84,7 +82,7 @@ def _inside_render_rect(self, subplot: Subplot, pos: tuple[int, int]) -> bool:
8482

8583
return False
8684

87-
def canvas_resized(self, canvas_rect: tuple, render_rect: tuple):
85+
def canvas_resized(self, canvas_rect: tuple):
8886
"""
8987
called by figure when canvas is resized
9088
@@ -96,10 +94,8 @@ def canvas_resized(self, canvas_rect: tuple, render_rect: tuple):
9694
"""
9795

9896
self._canvas_rect = canvas_rect
99-
self._render_rect = render_rect
100-
10197
for subplot in self._subplots:
102-
subplot.frame.canvas_resized(canvas_rect, render_rect)
98+
subplot.frame.canvas_resized(canvas_rect)
10399

104100
def _highlight_resize_handler(self, subplot: Subplot, ev):
105101
if self._active_action == "resize":
@@ -136,7 +132,6 @@ def __init__(
136132
renderer,
137133
subplots: np.ndarray[Subplot],
138134
canvas_rect: tuple,
139-
render_rect: tuple,
140135
moveable=True,
141136
resizeable=True,
142137
):
@@ -149,7 +144,7 @@ def __init__(
149144
150145
"""
151146

152-
super().__init__(renderer, subplots, canvas_rect, render_rect, moveable, resizeable)
147+
super().__init__(renderer, subplots, canvas_rect, moveable, resizeable)
153148

154149
self._last_pointer_pos: np.ndarray[np.float64, np.float64] = np.array(
155150
[np.nan, np.nan]
@@ -296,7 +291,7 @@ def set_rect(self, subplot: Subplot, rect: tuple | list | np.ndarray):
296291
297292
"""
298293

299-
new_rect = RectManager(*rect, self._canvas_rect, self.render_rect)
294+
new_rect = RectManager(*rect, self._canvas_rect)
300295
extent = new_rect.extent
301296
# check for overlaps
302297
for s in self._subplots:
@@ -323,7 +318,7 @@ def set_extent(self, subplot: Subplot, extent: tuple | list | np.ndarray):
323318
324319
"""
325320

326-
new_rect = RectManager.from_extent(extent, self._canvas_rect, self.render_rect)
321+
new_rect = RectManager.from_extent(extent, self._canvas_rect)
327322
extent = new_rect.extent
328323
# check for overlaps
329324
for s in self._subplots:
@@ -342,7 +337,6 @@ def __init__(
342337
renderer,
343338
subplots: np.ndarray[Subplot],
344339
canvas_rect: tuple[float, float, float, float],
345-
render_rect: tuple[float, float, float, float],
346340
shape: tuple[int, int],
347341
):
348342
"""
@@ -352,7 +346,7 @@ def __init__(
352346
"""
353347

354348
super().__init__(
355-
renderer, subplots, canvas_rect, render_rect, moveable=False, resizeable=False
349+
renderer, subplots, canvas_rect, moveable=False, resizeable=False
356350
)
357351

358352
# {Subplot: (row_ix, col_ix)}, dict mapping subplots to their row and col index in the grid layout

‎fastplotlib/layouts/_figure.py

Copy file name to clipboardExpand all lines: fastplotlib/layouts/_figure.py
+3-8Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -398,17 +398,15 @@ def __init__(
398398
self._layout = GridLayout(
399399
self.renderer,
400400
subplots=self._subplots,
401-
canvas_rect=(0, 0, *canvas.get_logical_size()),
402-
render_rect=self.get_pygfx_render_area(),
401+
canvas_rect=self.get_pygfx_render_area(),
403402
shape=shape,
404403
)
405404

406405
elif layout_mode == "rect" or layout_mode == "extent":
407406
self._layout = WindowLayout(
408407
self.renderer,
409408
subplots=self._subplots,
410-
canvas_rect=(0, 0, *canvas.get_logical_size()),
411-
render_rect=self.get_pygfx_render_area()
409+
canvas_rect=self.get_pygfx_render_area(),
412410
)
413411

414412
self._underlay_camera = UnderlayCamera()
@@ -756,10 +754,7 @@ def open_popup(self, *args, **kwargs):
756754

757755
def _fpl_reset_layout(self, *ev):
758756
"""set the viewport rects for all subplots, *ev argument is not used, exists because of renderer resize event"""
759-
self.layout.canvas_resized(
760-
canvas_rect=(0, 0, *self.canvas.get_logical_size()),
761-
render_rect=self.get_pygfx_render_area()
762-
)
757+
self.layout.canvas_resized(self.get_pygfx_render_area())
763758

764759
def get_pygfx_render_area(self, *args) -> tuple[float, float, float, float]:
765760
"""

‎fastplotlib/layouts/_frame.py

Copy file name to clipboardExpand all lines: fastplotlib/layouts/_frame.py
+5-9Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ def __init__(
116116
docks,
117117
toolbar_visible,
118118
canvas_rect,
119-
render_rect,
120119
):
121120
"""
122121
Manages the plane mesh, resize handle point, and subplot title.
@@ -148,10 +147,7 @@ def __init__(
148147
toolbar visibility
149148
150149
canvas_rect: tuple
151-
figure canvas rec
152-
153-
render_rect: tuple
154-
the render area rect excluding any areas taken by imgui edge windows or other things
150+
figure canvas rect, the render area excluding any areas taken by imgui edge windows
155151
156152
"""
157153

@@ -161,9 +157,9 @@ def __init__(
161157

162158
# create rect manager to handle all the backend rect calculations
163159
if rect is not None:
164-
self._rect_manager = RectManager(*rect, canvas_rect, render_rect)
160+
self._rect_manager = RectManager(*rect, canvas_rect)
165161
elif extent is not None:
166-
self._rect_manager = RectManager.from_extent(extent, canvas_rect, render_rect)
162+
self._rect_manager = RectManager.from_extent(extent, canvas_rect)
167163
else:
168164
raise ValueError("Must provide `rect` or `extent`")
169165

@@ -368,8 +364,8 @@ def resize_handle(self) -> pygfx.Points:
368364
"""resize handler point"""
369365
return self._resize_handle
370366

371-
def canvas_resized(self, canvas_rect, render_rect):
367+
def canvas_resized(self, canvas_rect):
372368
"""called by layout is resized"""
373-
self._rect_manager.canvas_resized(canvas_rect, render_rect)
369+
self._rect_manager.canvas_resized(canvas_rect)
374370
self._reset()
375371
self.reset_viewport()

‎fastplotlib/layouts/_imgui_figure.py

Copy file name to clipboardExpand all lines: fastplotlib/layouts/_imgui_figure.py
+4-20Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ def _draw_imgui(self) -> imgui.ImDrawData:
150150

151151
def add_gui(self, gui: EdgeWindow):
152152
"""
153-
Add a GUI to the Figure. GUIs can be added to the top, bottom, left or right edge.
153+
Add a GUI to the Figure. GUIs can be added to the left or bottom edge.
154154
155155
Parameters
156156
----------
@@ -177,12 +177,6 @@ def add_gui(self, gui: EdgeWindow):
177177

178178
self._fpl_reset_layout()
179179

180-
# reset the rects for all guis to account for any existing guis on the edges to ensure no overlapping windows
181-
for gui in self.guis.values():
182-
if gui is None:
183-
continue
184-
gui._set_rect()
185-
186180
def get_pygfx_render_area(self, *args) -> tuple[int, int, int, int]:
187181
"""
188182
Get rect for the portion of the canvas that the pygfx renderer draws to,
@@ -197,25 +191,15 @@ def get_pygfx_render_area(self, *args) -> tuple[int, int, int, int]:
197191

198192
width, height = self.canvas.get_logical_size()
199193

200-
for edge in ["left", "right"]:
194+
for edge in ["right"]:
201195
if self.guis[edge]:
202196
width -= self._guis[edge].size
203197

204-
for edge in ["top", "bottom"]:
198+
for edge in ["bottom"]:
205199
if self.guis[edge]:
206200
height -= self._guis[edge].size
207201

208-
if self.guis["left"]:
209-
xpos = self.guis["left"].size
210-
else:
211-
xpos = 0
212-
213-
if self.guis["top"]:
214-
ypos = self.guis["top"].size
215-
else:
216-
ypos = 0
217-
218-
return xpos, ypos, max(1, width), max(1, height)
202+
return 0, 0, max(1, width), max(1, height)
219203

220204
def register_popup(self, popup: Popup.__class__):
221205
"""

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.