Grease Pencil: Bugfix (Dots) + RNA Wrapping
authorJoshua Leung <aligorith@gmail.com>
Sun, 30 Aug 2009 05:54:27 +0000 (05:54 +0000)
committerJoshua Leung <aligorith@gmail.com>
Sun, 30 Aug 2009 05:54:27 +0000 (05:54 +0000)
* Making single dots should be possible again.

* Wrapped the debug option, 'Show Points', for layers, which makes all the points on the layer get drawn with dots indicating positions of stroke points.

source/blender/editors/gpencil/gpencil_buttons.c
source/blender/editors/gpencil/gpencil_paint.c
source/blender/makesrna/intern/rna_gpencil.c

index 954f6c7e61e4dd762dce5457c9061c2df5f7250b..f29d37311fb585dccbe15db83f37da58180e760f 100644 (file)
@@ -203,13 +203,6 @@ static void gp_drawui_layer (uiLayout *layout, bGPdata *gpd, bGPDlayer *gpl)
                subcol= uiLayoutColumn(col, 1);
                        uiItemR(subcol, NULL, 0, &ptr, "line_thickness", UI_ITEM_R_SLIDER);
                
-               /* debugging options */
-               if (G.f & G_DEBUG) {
-                       // XXX this option hasn't been wrapped yet... since it's just debug
-                       //subcol= uiLayoutColumn(col, 1);
-                       //      uiItemR(subrow, NULL, 0, &ptr, "show_points", 0);
-               }
-               
                /* right column ................... */
                col= uiLayoutColumn(split, 0);
                
@@ -218,6 +211,13 @@ static void gp_drawui_layer (uiLayout *layout, bGPdata *gpd, bGPDlayer *gpl)
                        uiItemR(subcol, "Onion Skinning", 0, &ptr, "use_onion_skinning", 0);
                        uiItemR(subcol, "GStep", 0, &ptr, "max_ghost_range", 0); // XXX shorter name here? (i.e. GStep)
                
+               /* debugging options */
+               // XXX re-enable the debug-only checks later
+               //if (G.f & G_DEBUG) {
+                       subcol= uiLayoutColumn(col, 1);
+                               uiItemR(subcol, NULL, 0, &ptr, "show_points", 0);
+               //}
+               
                /* additional options... */
                // None at the moment...
        }
index 9cf6f3d751f3527f32182da1f87fbd4a24346721..c18a807f9d4f81e974cb25b1ffb7a1b4a11c08ba 100644 (file)
@@ -161,8 +161,12 @@ static short gp_stroke_filtermval (tGPsdata *p, int mval[2], int pmval[2])
        int dx= abs(mval[0] - pmval[0]);
        int dy= abs(mval[1] - pmval[1]);
        
+       /* if buffer is empty, just let this go through (i.e. so that dots will work) */
+       if (p->gpd->sbuffer_size == 0)
+               return 1;
+       
        /* check if mouse moved at least certain distance on both axes (best case) */
-       if ((dx > MIN_MANHATTEN_PX) && (dy > MIN_MANHATTEN_PX))
+       else if ((dx > MIN_MANHATTEN_PX) && (dy > MIN_MANHATTEN_PX))
                return 1;
        
        /* check if the distance since the last point is significant enough */
index 340ba1a0f31c765675b0672cfe213c63195e16e0..e025aca010c0f72c31859ac801b977c90f9ebd00 100644 (file)
@@ -208,6 +208,10 @@ void rna_def_gpencil_layer(BlenderRNA *brna)
        RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_LAYER_SELECT);
        RNA_def_property_ui_text(prop, "Selected", "Layer is selected for editing in the DopeSheet.");
        
+       prop= RNA_def_property(srna, "show_points", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "flag", GP_LAYER_DRAWDEBUG);
+       RNA_def_property_ui_text(prop, "Show Points", "Draw the points which make up the strokes (for debugging purposes).");
+       
 }
 
 void rna_def_gpencil_data(BlenderRNA *brna)