Mercurial > projects > doodle
diff doodle/gtk/cairo_canvas.d @ 88:100dd23c7bdf
Ch ch ch changes:
* Handle SIGINT like a geek for now
* GtkD Context has no destructor and hence it would seem, a memory leak
* No more gtk_* C-function invocations
* Configured my GtkD patches
* (Comments)
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Wed, 18 Aug 2010 23:51:43 +0930 |
parents | 98980cee8c5b |
children | 467febed7367 |
line wrap: on
line diff
--- a/doodle/gtk/cairo_canvas.d Mon Aug 16 22:54:16 2010 +0930 +++ b/doodle/gtk/cairo_canvas.d Wed Aug 18 23:51:43 2010 +0930 @@ -208,14 +208,9 @@ bool onExpose(GdkEventExpose * event, Widget widget) { assert(widget is _drawingArea); - Drawable dr = _drawingArea.getWindow; - - int width, height; - dr.getSize(width, height); - //trace("Got expose %dx%d\n", width, height); - - scope modelCr = new Context(dr); - scope screenCr = new Context(dr); + auto dr = _drawingArea.getWindow; + scope modelCr = new Context(dr); // Causing a memory leak! + scope screenCr = new Context(dr); // Causing a memory leak! Rectangle screenDamage = event is null ? _screenModel.viewBoundsScreen : @@ -344,8 +339,8 @@ //trace("onGrabFocus"); } - void onGrabNotify(gboolean what, Widget widget){ - trace("onGrabNotify"); + void onGrabNotify(gboolean what, Widget widget) { + trace("onGrabNotify: %s", what); } void onAdjustmentValueChanged(Adjustment adjustment) { @@ -393,28 +388,18 @@ Rectangle viewBoundsModel = _screenModel.viewBoundsModel; // Update the adjustments - - GtkAdjustment * hGtkAdjustment = _hAdjustment.getAdjustmentStruct; - GtkAdjustment * vGtkAdjustment = _vAdjustment.getAdjustmentStruct; - - gtk_adjustment_set_lower(hGtkAdjustment, _screenModel.canvasBoundsModel.x0); - gtk_adjustment_set_upper(hGtkAdjustment, _screenModel.canvasBoundsModel.x1); - gtk_adjustment_set_value(hGtkAdjustment, viewLeftBottom.x); - gtk_adjustment_set_step_increment(hGtkAdjustment, _screenModel.canvasBoundsModel.w / 16.0); - gtk_adjustment_set_page_increment(hGtkAdjustment, _screenModel.canvasBoundsModel.w / 4.0); - gtk_adjustment_set_page_size(hGtkAdjustment, viewBoundsModel.w); - - gtk_adjustment_set_lower(vGtkAdjustment, _screenModel.canvasBoundsModel.y0); - gtk_adjustment_set_upper(vGtkAdjustment, _screenModel.canvasBoundsModel.y1); - gtk_adjustment_set_value(vGtkAdjustment, viewLeftBottom.y); - gtk_adjustment_set_step_increment(vGtkAdjustment, _screenModel.canvasBoundsModel.h / 16.0); - gtk_adjustment_set_page_increment(vGtkAdjustment, _screenModel.canvasBoundsModel.h / 4.0); - gtk_adjustment_set_page_size(vGtkAdjustment, viewBoundsModel.h); - - _hAdjustment.changed; - _hAdjustment.valueChanged; - _vAdjustment.changed; - _vAdjustment.valueChanged; + _hAdjustment.configure(viewLeftBottom.x, + _screenModel.canvasBoundsModel.x0, + _screenModel.canvasBoundsModel.x1, + _screenModel.canvasBoundsModel.w / 16.0, + _screenModel.canvasBoundsModel.w / 4.0, + _screenModel.viewBoundsModel.w); + _vAdjustment.configure(viewLeftBottom.y, + _screenModel.canvasBoundsModel.y0, + _screenModel.canvasBoundsModel.y1, + _screenModel.canvasBoundsModel.h / 16.0, + _screenModel.canvasBoundsModel.h / 4.0, + _screenModel.viewBoundsModel.h); } void fixDamage() {