Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update robtk/pugl
  • Loading branch information
x42 committed May 6, 2023
1 parent 756437d commit 5c8a7c0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
2 changes: 1 addition & 1 deletion robtk/README
@@ -1 +1 @@
exported https://github.com/x42/robtk.git v0.8.2-1-ga22c6b1
exported https://github.com/x42/robtk.git v0.8.3-1-g4a17af4
2 changes: 1 addition & 1 deletion robtk/robtk.h
Expand Up @@ -218,7 +218,7 @@ static void queue_draw(RobWidget *);
static void queue_draw_area(RobWidget *, int, int, int, int);
static void queue_tiny_area(RobWidget *rw, float x, float y, float w, float h);

static void robwidget_toplevel_enable_scaling (RobWidget* rw);
static void robwidget_toplevel_enable_scaling (RobWidget* rw, void (*cb) (RobWidget* w, void* h), void* handle);
static void robtk_queue_scale_change (RobWidget *rw, const float ws);

static RobWidget * robwidget_new(void *);
Expand Down
13 changes: 10 additions & 3 deletions robtk/ui_gl.c
Expand Up @@ -269,7 +269,9 @@ typedef struct {
#endif

void (* expose_overlay)(RobWidget* toplevel, cairo_t* cr, cairo_rectangle_t *ev);
void (* scale_change_cb)(RobWidget* toplevel, void* handle);
float queue_widget_scale;
void* scale_change_handle;

} GLrobtkLV2UI;

Expand Down Expand Up @@ -862,10 +864,14 @@ static RobWidget* robtk_tl_mousedown (RobWidget* rw, RobTkBtnEvent *ev) {
return NULL;
}

static void robwidget_toplevel_enable_scaling (RobWidget* rw) {
static void robwidget_toplevel_enable_scaling (RobWidget* rw, void (*cb) (RobWidget* w, void* handle), void* handle) {
assert (rw->parent == rw);
assert (rw->mousedown == &rcontainer_mousedown);
robwidget_set_mousedown (rw, robtk_tl_mousedown);

GLrobtkLV2UI * const self = (GLrobtkLV2UI*) robwidget_get_toplevel_handle(rw);
self->scale_change_cb = cb;
self->scale_change_handle = handle;
}


Expand Down Expand Up @@ -1142,13 +1148,14 @@ static void onDisplay(PuglView* view) {
}
#endif

#if 1
if (self->tl && self->queue_widget_scale != self->tl->widget_scale) {
self->tl->widget_scale = self->queue_widget_scale;
if (self->scale_change_cb) {
self->scale_change_cb (self->tl, self->scale_change_handle);
}
resize_self (self->tl);
robwidget_resize_toplevel (self->tl, self->tl->area.width, self->tl->area.height);
}
#endif

if (self->resize_in_progress) { return; }
if (!self->cr) return; // XXX exit failure
Expand Down

0 comments on commit 5c8a7c0

Please sign in to comment.