diff doodle/gtk/canvas.d @ 48:1b4c9ba58673

Stylistic overhaul.
author daveb
date Tue, 03 Aug 2010 17:37:21 +0930
parents f2e4e1d29b98
children 30ecedfe2ce2
line wrap: on
line diff
--- a/doodle/gtk/canvas.d	Tue Aug 03 16:57:06 2010 +0930
+++ b/doodle/gtk/canvas.d	Tue Aug 03 17:37:21 2010 +0930
@@ -36,10 +36,10 @@
 //
 // Model units are millimetres.
 //
-// mZoom         -> pixels-per-model-unit
-// mViewSize     -> size of view window in pixels
-// mViewCentre   -> location in model corresponding to centre of view
-// mCanvasBounds -> size of the virtual canvas in model coordinates
+// _zoom         -> pixels-per-model-unit
+// _viewSize     -> size of view window in pixels
+// _viewCentre   -> location in model corresponding to centre of view
+// _canvasBounds -> size of the virtual canvas in model coordinates
 //
 // User operations:
 //   pan (middle click and drag)
@@ -47,57 +47,57 @@
 //   resize the widget
 
 class Canvas : Table, Viewport {
-    this(in Layer[] layers, EventHandler event_handler, Grid grid, in double ppi) {
+    this(in Layer[] layers, EventHandler eventHandler, Grid grid, in double ppi) {
         super(3, 3, 0);
 
-        mDamage = Rectangle.DEFAULT;
+        _damage = Rectangle.DEFAULT;
 
-        mLayers = layers.dup;
-        mEventHandler = event_handler;
-        mGrid = grid;
-        mPPI = ppi;
+        _layers = layers.dup;
+        _eventHandler = eventHandler;
+        _grid = grid;
+        _ppi = ppi;
 
         /*
-        writefln("Layer bounds: %s", layer_bounds);
-        writefln("Canvas bounds: %s", mCanvasBounds);
-        writefln("View centre: %s", mViewCentre);
-        */
+           writefln("Layer bounds: %s", layerBounds);
+           writefln("Canvas bounds: %s", _canvasBounds);
+           writefln("View centre: %s", _viewCentre);
+         */
 
         // Create our child widgets and register callbacks
 
         info("B1");
-        mHRuler = new HRuler;
-        attach(mHRuler,
+        _hRuler = new HRuler;
+        attach(_hRuler,
                1, 2,
                0, 1,
                AttachOptions.FILL | AttachOptions.EXPAND, AttachOptions.SHRINK,
                0, 0);
-        mHRuler.setMetric(MetricType.PIXELS);
+        _hRuler.setMetric(MetricType.PIXELS);
 
         info("B2");
-        mVRuler = new VRuler;
-        attach(mVRuler,
+        _vRuler = new VRuler;
+        attach(_vRuler,
                0, 1,
                1, 2,
                AttachOptions.SHRINK, AttachOptions.FILL | AttachOptions.EXPAND,
                0, 0);
         info("B3");
-        mVRuler.setMetric(MetricType.PIXELS);
+        _vRuler.setMetric(MetricType.PIXELS);
         info("J");
 
-        mDrawingArea = new DrawingArea;
-        mDrawingArea.addOnRealize(&on_realize);
-        mDrawingArea.addOnConfigure(&on_configure);
-        mDrawingArea.addOnExpose(&on_expose);
-        mDrawingArea.addOnButtonPress(&on_button_press);
-        mDrawingArea.addOnButtonRelease(&on_button_release);
-        mDrawingArea.addOnKeyPress(&on_key_event);
-        mDrawingArea.addOnKeyRelease(&on_key_event);
-        mDrawingArea.addOnMotionNotify(&on_motion_notify);
-        mDrawingArea.addOnScroll(&on_scroll);
-        mDrawingArea.addOnEnterNotify(&on_enter_notify);
-        mDrawingArea.addOnLeaveNotify(&on_leave_notify);
-        mDrawingArea.setEvents(EventMask.EXPOSURE_MASK |
+        _drawingArea = new DrawingArea;
+        _drawingArea.addOnRealize(&onRealize);
+        _drawingArea.addOnConfigure(&onConfigure);
+        _drawingArea.addOnExpose(&onExpose);
+        _drawingArea.addOnButtonPress(&onButtonPress);
+        _drawingArea.addOnButtonRelease(&onButtonRelease);
+        _drawingArea.addOnKeyPress(&onKeyEvent);
+        _drawingArea.addOnKeyRelease(&onKeyEvent);
+        _drawingArea.addOnMotionNotify(&onMotionNotify);
+        _drawingArea.addOnScroll(&onScroll);
+        _drawingArea.addOnEnterNotify(&onEnterNotify);
+        _drawingArea.addOnLeaveNotify(&onLeaveNotify);
+        _drawingArea.setEvents(EventMask.EXPOSURE_MASK |
                                EventMask.POINTER_MOTION_MASK |
                                EventMask.POINTER_MOTION_HINT_MASK |
                                EventMask.BUTTON_MOTION_MASK |
@@ -111,7 +111,7 @@
                                EventMask.SCROLL_MASK);
         info("M");
 
-        attach(mDrawingArea,
+        attach(_drawingArea,
                1, 2,
                1, 2, 
                AttachOptions.FILL | AttachOptions.EXPAND, AttachOptions.FILL | AttachOptions.EXPAND,
@@ -119,22 +119,22 @@
 
         // value, lower, upper, step-inc, page-inc, page-size
         // Give the adjustments dummy values until we receive a configure
-        mHAdjustment = new Adjustment(0.0, 0.0, 1.0, 0.2, 0.5, 0.5);
-        mHAdjustment.addOnValueChanged(&onValueChanged);
-        mHScrollbar = new HScrollbar(mHAdjustment);
-        mHScrollbar.setInverted(false);
-        attach(mHScrollbar,
+        _hAdjustment = new Adjustment(0.0, 0.0, 1.0, 0.2, 0.5, 0.5);
+        _hAdjustment.addOnValueChanged(&onValueChanged);
+        _hScrollbar = new HScrollbar(_hAdjustment);
+        _hScrollbar.setInverted(false);
+        attach(_hScrollbar,
                1, 2,
                2, 3,
                AttachOptions.FILL | AttachOptions.EXPAND, AttachOptions.SHRINK,
                0, 0);
         info("Q");
 
-        mVAdjustment = new Adjustment(0.0, 0.0, 1.0, 0.2, 0.5, 0.5);
-        mVAdjustment.addOnValueChanged(&onValueChanged);
-        mVScrollbar = new VScrollbar(mVAdjustment);
-        mVScrollbar.setInverted(true);
-        attach(mVScrollbar,
+        _vAdjustment = new Adjustment(0.0, 0.0, 1.0, 0.2, 0.5, 0.5);
+        _vAdjustment.addOnValueChanged(&onValueChanged);
+        _vScrollbar = new VScrollbar(_vAdjustment);
+        _vScrollbar.setInverted(true);
+        attach(_vScrollbar,
                2, 3,
                1, 2,
                AttachOptions.SHRINK,
@@ -142,31 +142,31 @@
                0, 0);
     }
 
-    override void zoom_relative(in Point pixel_datum, in double factor) {
+    override void zoomRelative(in Point pixelDatum, in double factor) {
         // Work out pixel distance from current centre to datum,
         // Do the zoom, then work out the new centre that keeps the
         // pixel distance the same
 
-        Point old_model_datum = pixel_to_model(pixel_datum);
-        Vector pixel_distance = model_to_pixel(old_model_datum - mViewCentre);
-        mZoom = clamp_zoom(factor * mZoom);
-        mViewCentre = old_model_datum - pixel_to_model(pixel_distance);
+        Point oldModelDatum = pixelToModel(pixelDatum);
+        Vector pixelDistance = modelToPixel(oldModelDatum - _viewCentre);
+        _zoom = clampZoom(factor * _zoom);
+        _viewCentre = oldModelDatum - pixelToModel(pixelDistance);
 
-        update_adjustments;
-        update_rulers;
-        mGrid.zoom_changed(mZoom);
+        updateAdjustments;
+        updateRulers;
+        _grid.zoomChanged(_zoom);
         queueDraw;
     }
 
-    override void pan_relative(in Vector pixel_displacement) {
-        mViewCentre = mViewCentre + pixel_to_model(pixel_displacement);
+    override void panRelative(in Vector pixelDisplacement) {
+        _viewCentre = _viewCentre + pixelToModel(pixelDisplacement);
 
-        update_adjustments;
-        update_rulers;
+        updateAdjustments;
+        updateRulers;
         queueDraw;
     }
 
-    override void set_cursor(in Cursor cursor) {
+    override void setCursor(in Cursor cursor) {
         CursorType cursor_type;
 
         switch (cursor) {
@@ -183,15 +183,15 @@
             assert(0);
         }
 
-        mDrawingArea.setCursor(new gdk.Cursor.Cursor(cursor_type));
+        _drawingArea.setCursor(new gdk.Cursor.Cursor(cursor_type));
     }
 
-    override void damage_model(in Rectangle area) {
-        mDamage = mDamage | model_to_pixel(area);
+    override void damageModel(in Rectangle area) {
+        _damage = _damage | modelToPixel(area);
     }
 
-    override void damage_pixel(in Rectangle area) {
-        mDamage = mDamage | area;
+    override void damagePixel(in Rectangle area) {
+        _damage = _damage | area;
     }
 
     private {
@@ -200,389 +200,389 @@
         }
 
 
-        bool on_configure(GdkEventConfigure * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onConfigure(GdkEventConfigure * event, Widget widget) {
+            assert(widget is _drawingArea);
 
-            mViewSize = Vector(cast(double)event.width, cast(double)event.height);
+            _viewSize = Vector(cast(double)event.width, cast(double)event.height);
 
-            Rectangle layer_bounds = Rectangle.DEFAULT;
+            Rectangle layerBounds = Rectangle.DEFAULT;
 
-            foreach (ref layer; mLayers) {
-                layer_bounds = layer_bounds | layer.bounds;
+            foreach (ref layer; _layers) {
+                layerBounds = layerBounds | layer.bounds;
             }
 
-            assert(layer_bounds.valid);
+            assert(layerBounds.valid);
 
-            Rectangle padded_layer_bounds = expand(move(layer_bounds, - layer_bounds.size), 2.0 * layer_bounds.size);
+            Rectangle paddedLayerBounds = expand(move(layerBounds, - layerBounds.size), 2.0 * layerBounds.size);
 
-            if (!mHadConfigure) {
+            if (!_hadConfigure) {
                 info("1");
                 const double MM_PER_INCH = 25.4;
-                mZoom = 0.25 * mPPI / MM_PER_INCH;
+                _zoom = 0.25 * _ppi / MM_PER_INCH;
 
-                mCanvasBounds = padded_layer_bounds;
-                mViewCentre = mCanvasBounds.centre;
+                _canvasBounds = paddedLayerBounds;
+                _viewCentre = _canvasBounds.centre;
 
-                mGrid.zoom_changed(mZoom);
+                _grid.zoomChanged(_zoom);
 
-                mHadConfigure = true;
+                _hadConfigure = true;
             }
             else {
                 // Use configure events as an opportunity
                 // to consolidate the canvas-bounds
                 // XXX nasty code.
-                Vector z = mViewSize / mZoom;
-                Rectangle r = Rectangle(mViewCentre - z / 2.0, z);
-                mCanvasBounds = r | padded_layer_bounds;
+                Vector z = _viewSize / _zoom;
+                Rectangle r = Rectangle(_viewCentre - z / 2.0, z);
+                _canvasBounds = r | paddedLayerBounds;
             }
 
-            update_adjustments;
-            update_rulers;
+            updateAdjustments;
+            updateRulers;
 
-            //writefln("Canvas bounds: %s", mCanvasBounds);
-            //writefln("View centre: %s", mViewCentre);
+            //writefln("Canvas bounds: %s", _canvasBounds);
+            //writefln("View centre: %s", _viewCentre);
 
             return true;
         }
 
-        bool on_expose(GdkEventExpose * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onExpose(GdkEventExpose * event, Widget widget) {
+            assert(widget is _drawingArea);
 
-            Drawable dr = mDrawingArea.getWindow;
+            Drawable dr = _drawingArea.getWindow;
 
             int width, height;
             dr.getSize(width, height);
             //writefln("Got expose %dx%d\n", width, height);
 
-            scope model_cr = new Context(dr);
-            scope pixel_cr = new Context(dr);
+            scope modelCr = new Context(dr);
+            scope pixelCr = new Context(dr);
 
             Rectangle pixel_damage =
                 event is null ?
-                Rectangle(Point(0.0, 0.0), mViewSize) :
-                Rectangle(Point(cast(double)event.area.x, mViewSize.y - cast(double)(event.area.y + event.area.height)),
+                Rectangle(Point(0.0, 0.0), _viewSize) :
+                Rectangle(Point(cast(double)event.area.x, _viewSize.y - cast(double)(event.area.y + event.area.height)),
                           Vector(cast(double)event.area.width, cast(double)event.area.height));
 
-            Rectangle model_damage = pixel_to_model(pixel_damage);
+            Rectangle model_damage = pixelToModel(pixel_damage);
 
             //writefln("Pixel damage: %s, model damage: %s", pixel_damage, model_damage);
 
-            model_cr.save; pixel_cr.save; {
+            modelCr.save; pixelCr.save; {
                 // Setup model context and clip
 
-                GtkAdjustment * h_gtkAdjustment = mHAdjustment.getAdjustmentStruct;
-                GtkAdjustment * v_gtkAdjustment = mVAdjustment.getAdjustmentStruct;
+                GtkAdjustment * h_gtkAdjustment = _hAdjustment.getAdjustmentStruct;
+                GtkAdjustment * v_gtkAdjustment = _vAdjustment.getAdjustmentStruct;
 
-                model_cr.scale(mZoom, -mZoom);
-                model_cr.translate(-gtk_adjustment_get_value(h_gtkAdjustment),
-                                   -gtk_adjustment_get_value(v_gtkAdjustment) - gtk_adjustment_get_page_size(v_gtkAdjustment));
+                modelCr.scale(_zoom, -_zoom);
+                modelCr.translate(-gtk_adjustment_get_value(h_gtkAdjustment),
+                                  -gtk_adjustment_get_value(v_gtkAdjustment) - gtk_adjustment_get_page_size(v_gtkAdjustment));
 
-                rectangle(model_cr, model_damage);
-                model_cr.clip;
+                rectangle(modelCr, model_damage);
+                modelCr.clip;
 
                 // Setup pixel context and clip
 
-                pixel_cr.translate(0.0, mViewSize.y);
-                pixel_cr.scale(1.0, -1.0);
+                pixelCr.translate(0.0, _viewSize.y);
+                pixelCr.scale(1.0, -1.0);
 
-                rectangle(pixel_cr, pixel_damage);
-                pixel_cr.clip;
+                rectangle(pixelCr, pixel_damage);
+                pixelCr.clip;
 
                 // Fill the background
 
-                pixel_cr.save; {
+                pixelCr.save; {
                     // Make the window light grey
-                    pixel_cr.setSourceRgba(0.9, 0.9, 0.9, 1.0);
-                    rectangle(pixel_cr, pixel_damage);
-                    pixel_cr.fill;
-                } pixel_cr.restore;
+                    pixelCr.setSourceRgba(0.9, 0.9, 0.9, 1.0);
+                    rectangle(pixelCr, pixel_damage);
+                    pixelCr.fill;
+                } pixelCr.restore;
 
                 // Draw each layer
 
-                foreach(ref layer; mLayers) {
-                    model_cr.save; pixel_cr.save; {
-                        layer.draw(this, pixel_damage, pixel_cr, model_damage, model_cr);
-                    } pixel_cr.restore; model_cr.restore;
+                foreach(ref layer; _layers) {
+                    modelCr.save; pixelCr.save; {
+                        layer.draw(this, pixel_damage, pixelCr, model_damage, modelCr);
+                    } pixelCr.restore; modelCr.restore;
                 }
-            } pixel_cr.restore; model_cr.restore;
+            } pixelCr.restore; modelCr.restore;
 
             return true;
         }
 
-        bool on_button_press(GdkEventButton * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onButtonPress(GdkEventButton * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Got button event\n");
 
-            Point pixel_point = Point(event.x + 0.5, mViewSize.y - (event.y + 0.5));
-            Point model_point = pixel_to_model(pixel_point);
+            Point pixelPoint = Point(event.x + 0.5, _viewSize.y - (event.y + 0.5));
+            Point modelPoint = pixelToModel(pixelPoint);
 
-            auto button_event = new ButtonEvent(gtk2tk_button_action(event.type),
-                                                gtk2tk_button_name(event.button),
-                                                pixel_point,
-                                                model_point,
-                                                gtk2tk_mask(event.state));
+            auto buttonEvent = new ButtonEvent(gtk2tkButtonAction(event.type),
+                                               gtk2tkButtonName(event.button),
+                                               pixelPoint,
+                                               modelPoint,
+                                               gtk2tkMask(event.state));
 
-            mEventHandler.handle_button_press(this, button_event);
+            _eventHandler.handleButtonPress(this, buttonEvent);
 
-            fix_damage;
+            fixDamage;
 
             return true;
         }
 
-        bool on_button_release(GdkEventButton * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onButtonRelease(GdkEventButton * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Got button event\n");
 
-            Point pixel_point = Point(event.x + 0.5, mViewSize.y - (event.y + 0.5));
-            Point model_point = pixel_to_model(pixel_point);
+            Point pixelPoint = Point(event.x + 0.5, _viewSize.y - (event.y + 0.5));
+            Point modelPoint = pixelToModel(pixelPoint);
 
-            auto button_event = new ButtonEvent(gtk2tk_button_action(event.type),
-                                                gtk2tk_button_name(event.button),
-                                                pixel_point,
-                                                model_point,
-                                                gtk2tk_mask(event.state));
+            auto buttonEvent = new ButtonEvent(gtk2tkButtonAction(event.type),
+                                               gtk2tkButtonName(event.button),
+                                               pixelPoint,
+                                               modelPoint,
+                                               gtk2tkMask(event.state));
 
-            mEventHandler.handle_button_release(this, button_event);
+            _eventHandler.handleButtonRelease(this, buttonEvent);
 
-            fix_damage;
+            fixDamage;
 
             return true;
         }
 
-        bool on_key_event(GdkEventKey * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onKeyEvent(GdkEventKey * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Got key event\n");
 
             //auto key_event = new KeyEvent("",
             // mEventHandle.handle_key(key_event);
 
-            fix_damage;
+            fixDamage;
 
             return true;
         }
 
-        bool on_motion_notify(GdkEventMotion * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onMotionNotify(GdkEventMotion * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Got motion notify\n");
-            gtk_widget_event(mHRuler.getWidgetStruct(), cast(GdkEvent *)event);
-            gtk_widget_event(mVRuler.getWidgetStruct(), cast(GdkEvent *)event);
+            gtk_widget_event(_hRuler.getWidgetStruct(), cast(GdkEvent *)event);
+            gtk_widget_event(_vRuler.getWidgetStruct(), cast(GdkEvent *)event);
 
-            Point pixel_point = Point(event.x + 0.5, mViewSize.y - (event.y + 0.5));
-            Point model_point = pixel_to_model(pixel_point);
+            Point pixelPoint = Point(event.x + 0.5, _viewSize.y - (event.y + 0.5));
+            Point modelPoint = pixelToModel(pixelPoint);
 
-            auto motion_event = new MotionEvent(pixel_point,
-                                                model_point,
-                                                gtk2tk_mask(event.state));
+            auto motion_event = new MotionEvent(pixelPoint,
+                                                modelPoint,
+                                                gtk2tkMask(event.state));
 
-            mEventHandler.handle_motion(this, motion_event);
+            _eventHandler.handleMotion(this, motion_event);
 
-            fix_damage;
+            fixDamage;
 
             return true;
         }
 
-        bool on_scroll(GdkEventScroll * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onScroll(GdkEventScroll * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Got scroll\n");
 
-            Point pixel_point = Point(event.x + 0.5, mViewSize.y - (event.y + 0.5));
-            Point model_point = pixel_to_model(pixel_point);
+            Point pixelPoint = Point(event.x + 0.5, _viewSize.y - (event.y + 0.5));
+            Point modelPoint = pixelToModel(pixelPoint);
 
-            auto scroll_event = new ScrollEvent(gtk2tk_direction(event.direction),
-                                                pixel_point,
-                                                model_point,
-                                                gtk2tk_mask(event.state));
+            auto scroll_event = new ScrollEvent(gtk2tkDirection(event.direction),
+                                                pixelPoint,
+                                                modelPoint,
+                                                gtk2tkMask(event.state));
 
-            mEventHandler.handle_scroll(this, scroll_event);
+            _eventHandler.handleScroll(this, scroll_event);
 
-            fix_damage;
+            fixDamage;
 
             return true;
         }
 
         /*
-        public enum GdkCrossingMode {       
-            NORMAL,
-            GRAB,
-            UNGRAB,
-            GTK_GRAB,
-            GTK_UNGRAB,
-            STATE_CHANGED
-        }
+           public enum GdkCrossingMode {       
+           NORMAL,
+           GRAB,
+           UNGRAB,
+           GTK_GRAB,
+           GTK_UNGRAB,
+           STATE_CHANGED
+           }
 
-        public struct GdkEventCrossing {
-            GdkEventType type;
-            GdkWindow *window;
-            byte sendEvent;
-            GdkWindow *subwindow;
-            uint time;
-            double x;
-            double y;
-            double xRoot;
-            double yRoot;
-            GdkCrossingMode mode;
-            GdkNotifyType detail;
-            int focus;
-            uint state;
-        }
-        */
+           public struct GdkEventCrossing {
+           GdkEventType type;
+           GdkWindow *window;
+           byte sendEvent;
+           GdkWindow *subwindow;
+           uint time;
+           double x;
+           double y;
+           double xRoot;
+           double yRoot;
+           GdkCrossingMode mode;
+           GdkNotifyType detail;
+           int focus;
+           uint state;
+           }
+         */
 
-        bool on_enter_notify(GdkEventCrossing * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onEnterNotify(GdkEventCrossing * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Enter %d %d %d", cast(int)event.mode, event.focus, event.state);
             // TODO
             return true;
         }
 
-        bool on_leave_notify(GdkEventCrossing * event, Widget widget) {
-            assert(widget is mDrawingArea);
+        bool onLeaveNotify(GdkEventCrossing * event, Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Leave %d %d %d", cast(int)event.mode, event.focus, event.state);
             // TODO
             return true;
         }
 
         void onValueChanged(Adjustment adjustment) {
-            GtkAdjustment * h_gtkAdjustment = mHAdjustment.getAdjustmentStruct;
-            GtkAdjustment * v_gtkAdjustment = mVAdjustment.getAdjustmentStruct;
+            GtkAdjustment * h_gtkAdjustment = _hAdjustment.getAdjustmentStruct;
+            GtkAdjustment * v_gtkAdjustment = _vAdjustment.getAdjustmentStruct;
 
-            Point view_left_top = Point(gtk_adjustment_get_value(h_gtkAdjustment),
-                                        gtk_adjustment_get_value(v_gtkAdjustment));
+            Point viewLeftTop = Point(gtk_adjustment_get_value(h_gtkAdjustment),
+                                      gtk_adjustment_get_value(v_gtkAdjustment));
 
-            Vector model_size = pixel_to_model(mViewSize);
+            Vector modelSize = pixelToModel(_viewSize);
 
-            //writefln("%s", view_left_bottom);
-            mViewCentre = view_left_top + model_size / 2.0;
-            //writefln("onValueChanged mViewCentre: %s", mViewCentre);
+            //writefln("%s", viewLeftBottom);
+            _viewCentre = viewLeftTop + modelSize / 2.0;
+            //writefln("onValueChanged _viewCentre: %s", _viewCentre);
 
-            update_rulers;
+            updateRulers;
 
             queueDraw;
         }
 
-        void update_rulers() {
-            invariant Vector model_size = pixel_to_model(mViewSize);
+        void updateRulers() {
+            invariant Vector modelSize = pixelToModel(_viewSize);
 
-            invariant Point view_left_bottom = mViewCentre - model_size / 2.0;
-            invariant Point view_right_top = mViewCentre + model_size / 2.0;
+            invariant Point viewLeftBottom = _viewCentre - modelSize / 2.0;
+            invariant Point viewRightTop = _viewCentre + modelSize / 2.0;
 
             // Define these just to obtain the position
             // below and we can preserve it
-            double lower, upper, position, max_size;
+            double lower, upper, position, maxSize;
 
-            mHRuler.getRange(lower, upper, position, max_size);
-            mHRuler.setRange(view_left_bottom.x,
-                             view_right_top.x,
+            _hRuler.getRange(lower, upper, position, maxSize);
+            _hRuler.setRange(viewLeftBottom.x,
+                             viewRightTop.x,
                              position,
-                             mZoom * 50.0);
+                             _zoom * 50.0);
 
-            mVRuler.getRange(lower, upper, position, max_size);
-            mVRuler.setRange(view_right_top.y,
-                             view_left_bottom.y,
+            _vRuler.getRange(lower, upper, position, maxSize);
+            _vRuler.setRange(viewRightTop.y,
+                             viewLeftBottom.y,
                              position,
-                             mZoom * 50.0);
+                             _zoom * 50.0);
         }
 
-        void update_adjustments() {
-            invariant Vector model_size = pixel_to_model(mViewSize);
+        void updateAdjustments() {
+            invariant Vector modelSize = pixelToModel(_viewSize);
 
-            invariant Point view_left_bottom = mViewCentre - model_size / 2.0;
-            invariant Point view_right_top = mViewCentre + model_size / 2.0;
+            invariant Point viewLeftBottom = _viewCentre - modelSize / 2.0;
+            invariant Point viewRightTop = _viewCentre + modelSize / 2.0;
 
             // Adjust the canvas size if necessary
-            mCanvasBounds = Rectangle(min_extents(mCanvasBounds.min_corner, view_left_bottom),
-                                      max_extents(mCanvasBounds.max_corner, view_right_top));
+            _canvasBounds = Rectangle(minExtents(_canvasBounds.minCorner, viewLeftBottom),
+                                      maxExtents(_canvasBounds.maxCorner, viewRightTop));
 
             // Update the adjustments
 
-            GtkAdjustment * h_gtkAdjustment = mHAdjustment.getAdjustmentStruct;
-            GtkAdjustment * v_gtkAdjustment = mVAdjustment.getAdjustmentStruct;
+            GtkAdjustment * h_gtkAdjustment = _hAdjustment.getAdjustmentStruct;
+            GtkAdjustment * v_gtkAdjustment = _vAdjustment.getAdjustmentStruct;
 
-            gtk_adjustment_set_lower(h_gtkAdjustment, mCanvasBounds.min_corner.x);
-            gtk_adjustment_set_upper(h_gtkAdjustment, mCanvasBounds.max_corner.x);
-            gtk_adjustment_set_value(h_gtkAdjustment, view_left_bottom.x);
-            gtk_adjustment_set_step_increment(h_gtkAdjustment, mCanvasBounds.size.x / 16.0);
-            gtk_adjustment_set_page_increment(h_gtkAdjustment, mCanvasBounds.size.x / 4.0);
-            gtk_adjustment_set_page_size(h_gtkAdjustment, model_size.x);
+            gtk_adjustment_set_lower(h_gtkAdjustment, _canvasBounds.minCorner.x);
+            gtk_adjustment_set_upper(h_gtkAdjustment, _canvasBounds.maxCorner.x);
+            gtk_adjustment_set_value(h_gtkAdjustment, viewLeftBottom.x);
+            gtk_adjustment_set_step_increment(h_gtkAdjustment, _canvasBounds.size.x / 16.0);
+            gtk_adjustment_set_page_increment(h_gtkAdjustment, _canvasBounds.size.x / 4.0);
+            gtk_adjustment_set_page_size(h_gtkAdjustment, modelSize.x);
 
-            gtk_adjustment_set_lower(v_gtkAdjustment, mCanvasBounds.min_corner.y);
-            gtk_adjustment_set_upper(v_gtkAdjustment, mCanvasBounds.max_corner.y);
-            gtk_adjustment_set_value(v_gtkAdjustment, view_left_bottom.y);
-            gtk_adjustment_set_step_increment(v_gtkAdjustment, mCanvasBounds.size.y / 16.0);
-            gtk_adjustment_set_page_increment(v_gtkAdjustment, mCanvasBounds.size.y / 4.0);
-            gtk_adjustment_set_page_size(v_gtkAdjustment, model_size.y);
+            gtk_adjustment_set_lower(v_gtkAdjustment, _canvasBounds.minCorner.y);
+            gtk_adjustment_set_upper(v_gtkAdjustment, _canvasBounds.maxCorner.y);
+            gtk_adjustment_set_value(v_gtkAdjustment, viewLeftBottom.y);
+            gtk_adjustment_set_step_increment(v_gtkAdjustment, _canvasBounds.size.y / 16.0);
+            gtk_adjustment_set_page_increment(v_gtkAdjustment, _canvasBounds.size.y / 4.0);
+            gtk_adjustment_set_page_size(v_gtkAdjustment, modelSize.y);
 
-            mHAdjustment.changed;
-            mHAdjustment.valueChanged;
-            mVAdjustment.changed;
-            mVAdjustment.valueChanged;
+            _hAdjustment.changed;
+            _hAdjustment.valueChanged;
+            _vAdjustment.changed;
+            _vAdjustment.valueChanged;
         }
 
-        void fix_damage() {
-            if (mDamage.valid) {
-                //writefln("Damage: %s", mDamage);
+        void fixDamage() {
+            if (_damage.valid) {
+                //writefln("Damage: %s", _damage);
                 int x, y, w, h;
-                mDamage.get_quantised(x, y, w, h);
-                mDrawingArea.queueDrawArea(x, cast(int)mViewSize.y - (y + h), w, h);
-                mDamage = Rectangle.DEFAULT;
+                _damage.getQuantised(x, y, w, h);
+                _drawingArea.queueDrawArea(x, cast(int)_viewSize.y - (y + h), w, h);
+                _damage = Rectangle.DEFAULT;
             }
             else {
                 //writefln("No damage");
             }
         }
 
-        double clamp_zoom(in double zoom) { return clamp(zoom, 0.2, 10.0); }
+        double clampZoom(in double zoom) { return clamp(zoom, 0.2, 10.0); }
 
-        Point model_to_pixel(in Point model) const {
-            return Point.DEFAULT + mViewSize / 2.0 + mZoom * (model - mViewCentre);
+        Point modelToPixel(in Point model) const {
+            return Point.DEFAULT + _viewSize / 2.0 + _zoom * (model - _viewCentre);
         }
 
-        Point pixel_to_model(in Point pixel) const {
-            return mViewCentre + (pixel - mViewSize / 2.0 - Point.DEFAULT) / mZoom;
+        Point pixelToModel(in Point pixel) const {
+            return _viewCentre + (pixel - _viewSize / 2.0 - Point.DEFAULT) / _zoom;
         }
 
-        Vector model_to_pixel(in Vector model) const {
-            return mZoom * model;
+        Vector modelToPixel(in Vector model) const {
+            return _zoom * model;
         }
 
-        Vector pixel_to_model(in Vector pixel) const {
-            return pixel / mZoom;
+        Vector pixelToModel(in Vector pixel) const {
+            return pixel / _zoom;
         }
 
-        Rectangle model_to_pixel(in Rectangle model) const {
-            return Rectangle(model_to_pixel(model.position), model_to_pixel(model.size));
+        Rectangle modelToPixel(in Rectangle model) const {
+            return Rectangle(modelToPixel(model.position), modelToPixel(model.size));
         }
 
-        Rectangle pixel_to_model(in Rectangle model) const {
-            return Rectangle(pixel_to_model(model.position), pixel_to_model(model.size));
+        Rectangle pixelToModel(in Rectangle model) const {
+            return Rectangle(pixelToModel(model.position), pixelToModel(model.size));
         }
 
-        void on_realize(Widget widget) {
-            assert(widget is mDrawingArea);
+        void onRealize(Widget widget) {
+            assert(widget is _drawingArea);
             //writefln("Got realize\n");
         }
 
-        bool mHadConfigure;
-        Rectangle mDamage;          // pixels
+        bool _hadConfigure;
+        Rectangle _damage;          // pixels
 
         // Model units are in millimetres
         // Screen units are in pixels
-        double mZoom;               // pixels-per-model-unit
-        Vector mViewSize;           // pixel: size of view window in pixels
-        Point mViewCentre;          // model: where in the model is the centre of our view
-        Rectangle mCanvasBounds;    // model:
+        double _zoom;               // pixels-per-model-unit
+        Vector _viewSize;           // pixel: size of view window in pixels
+        Point _viewCentre;          // model: where in the model is the centre of our view
+        Rectangle _canvasBounds;    // model:
 
         // Child widgets:
-        HRuler mHRuler;
-        VRuler mVRuler;
-        DrawingArea mDrawingArea;
-        Adjustment mHAdjustment;
-        HScrollbar mHScrollbar;
-        Adjustment mVAdjustment;
-        VScrollbar mVScrollbar;
+        HRuler _hRuler;
+        VRuler _vRuler;
+        DrawingArea _drawingArea;
+        Adjustment _hAdjustment;
+        HScrollbar _hScrollbar;
+        Adjustment _vAdjustment;
+        VScrollbar _vScrollbar;
 
-        Layer[] mLayers;
-        EventHandler mEventHandler;
-        Grid mGrid;
-        double mPPI;
+        Layer[] _layers;
+        EventHandler _eventHandler;
+        Grid _grid;
+        double _ppi;
     }
 }