[Bf-blender-cvs] [58fedf3] wiggly-widgets: Merge branch 'master' into wiggly-widgets
Antony Riakiotakis
noreply at git.blender.org
Thu Dec 11 14:00:39 CET 2014
Commit: 58fedf3b6784a037eee9026741d46d1913b1c762
Author: Antony Riakiotakis
Date: Thu Dec 11 14:00:23 2014 +0100
Branches: wiggly-widgets
https://developer.blender.org/rB58fedf3b6784a037eee9026741d46d1913b1c762
Merge branch 'master' into wiggly-widgets
Conflicts:
source/blender/makesrna/intern/rna_space.c
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/intern/wm_event_system.c
===================================================================
===================================================================
diff --cc source/blender/makesrna/intern/rna_space.c
index 452e5c4,17d4c1b..151d45d
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@@ -2630,18 -2630,11 +2630,23 @@@ static void rna_def_space_sequencer(Ble
RNA_def_property_boolean_sdna(prop, NULL, "draw_flag", SEQ_DRAW_BACKDROP);
RNA_def_property_ui_text(prop, "Use Backdrop", "Display result under strips");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_SEQUENCER, NULL);
+
+ prop = RNA_def_property(srna, "backdrop_zoom", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_default(prop, 1.0f);
+ RNA_def_property_range(prop, 0.01f, FLT_MAX);
+ RNA_def_property_ui_range(prop, 0.01, 100, 1, 2);
+ RNA_def_property_ui_text(prop, "Backdrop Zoom", "Backdrop zoom factor");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_NODE_VIEW, NULL);
+
+ prop = RNA_def_property(srna, "backdrop_offset", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_array(prop, 2);
+ RNA_def_property_ui_text(prop, "Backdrop Offset", "Backdrop offset");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_NODE_VIEW, NULL);
+
+ prop = RNA_def_property(srna, "show_strip_offset", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "draw_flag", SEQ_DRAW_OFFSET_EXT);
+ RNA_def_property_ui_text(prop, "Show Offsets", "Display strip in/out offsets");
+ RNA_def_property_update(prop, NC_SPACE | ND_SPACE_SEQUENCER, NULL);
}
static void rna_def_space_text(BlenderRNA *brna)
diff --cc source/blender/windowmanager/WM_api.h
index e3c1f8a,d2abfd4..eba66e6
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@@ -469,81 -462,10 +469,84 @@@ void WM_event_ndof_to_quat(cons
float WM_event_tablet_data(const struct wmEvent *event, int *pen_flip, float tilt[2]);
bool WM_event_is_tablet(const struct wmEvent *event);
-
+/* widget API */
+struct wmWidget *WM_widget_new(void (*draw)(struct wmWidget *, const struct bContext *),
+ void (*render_3d_intersection)(const struct bContext *, struct wmWidget *, int),
+ int (*intersect)(struct bContext *C, const struct wmEvent *event, struct wmWidget *customdata),
+ int (*handler)(struct bContext *, const struct wmEvent *, struct wmWidget *));
+
+void WM_widget_property(struct wmWidget *, int slot, struct PointerRNA *ptr, const char *propname);
+struct PointerRNA *WM_widget_operator(struct wmWidget *, const char *opname);
+void WM_widgets_draw(const struct bContext *C, struct wmWidgetMap *wmap);
+void WM_event_add_area_widgetmap_handlers(struct ARegion *ar);
+void WM_modal_handler_attach_widgetgroup(struct wmEventHandler *handler, struct wmWidgetGroupType *wgrouptype, struct wmOperator *op);
+
+void WM_widget_set_origin(struct wmWidget *widget, float origin[3]);
+void WM_widget_set_3d_scale(struct wmWidget *widget, bool scale);
+void WM_widget_set_draw_on_hover_only(struct wmWidget *widget, bool draw);
+void WM_widget_set_scale(struct wmWidget *widget, float scale);
+
+struct wmWidgetMapType *WM_widgetmaptype_find(const char *idname, int spaceid, int regionid, bool is_3d, bool create);
+
+struct wmWidgetGroupType *WM_widgetgrouptype_new(int (*poll)(const struct bContext *, struct wmWidgetGroupType *),
+ void (*draw)(const struct bContext *, struct wmWidgetGroup *),
+ struct Main *bmain, const char *mapidname, short spaceid, short regionid, bool is_3d);
+void WM_widgetgrouptype_unregister(struct Main *bmain, struct wmWidgetGroupType *wgroup);
+
+/* creates a widgetmap with all registered widgets for that type */
+struct wmWidgetMap *WM_widgetmap_from_type(const char *idname, int spaceid, int regionid, bool is_3d);
+void WM_widgetmap_delete(struct wmWidgetMap *wmap);
+
+void WM_widgetmaptypes_free(void);
+
+/* wm_generic_widgets.c */
+
+enum {
+ WIDGET_ARROW_STYLE_NORMAL = 1,
+ WIDGET_ARROW_STYLE_NO_AXIS = (1 << 1),
+ WIDGET_ARROW_STYLE_CROSS = (1 << 2),
+ WIDGET_ARROW_STYLE_INVERTED = (1 << 3), /* inverted offset during interaction - if set it also sets constrained below */
+ WIDGET_ARROW_STYLE_CONSTRAINED = (1 << 4), /* clamp arrow interaction to property width */
+};
+
+enum {
+ WIDGET_DIAL_STYLE_RING = 0,
+ WIDGET_DIAL_STYLE_RING_CLIPPED = 1,
+};
+
+enum {
+ WIDGET_RECT_TRANSFORM_STYLE_TRANSLATE = 1, /* widget translates */
+ WIDGET_RECT_TRANSFORM_STYLE_ROTATE = (1 << 1), /* widget rotates */
+ WIDGET_RECT_TRANSFORM_STYLE_SCALE = (1 << 2), /* widget scales */
+ WIDGET_RECT_TRANSFORM_STYLE_SCALE_UNIFORM = (1 << 3), /* widget scales uniformly */
+};
+
+/* slots for properties */
+enum {
+ ARROW_SLOT_OFFSET_WORLD_SPACE = 0
+};
+
+enum {
+ RECT_TRANSFORM_SLOT_OFFSET = 0,
+ RECT_TRANSFORM_SLOT_SCALE = 1
+};
+
+struct wmWidget *WIDGET_arrow_new(struct wmWidgetGroup *wgroup, int style);
+void WIDGET_arrow_set_color(struct wmWidget *widget, float color[4]);
+void WIDGET_arrow_set_direction(struct wmWidget *widget, float direction[3]);
+void WIDGET_arrow_set_up_vector(struct wmWidget *widget, float direction[3]);
+void WIDGET_arrow_set_scale(struct wmWidget *widget, float scale);
+
+struct wmWidget *WIDGET_dial_new(int style);
+void WIDGET_dial_set_color(struct wmWidget *widget, float color[4]);
+void WIDGET_dial_set_direction(struct wmWidget *widget, float direction[3]);
+
+struct wmWidget *WIDGET_rect_transform_new(struct wmWidgetGroup *wgroup, int style, float width, float height);
+
+ #ifdef WITH_INPUT_IME
+ bool WM_event_is_ime_switch(const struct wmEvent *event);
+ #endif
+
#ifdef __cplusplus
}
#endif
More information about the Bf-blender-cvs
mailing list