[Bf-blender-cvs] [87fa9c4] soc-2013-paint: merge with master 054094f5827f3
Antony Riakiotakis
noreply at git.blender.org
Wed Feb 12 15:31:06 CET 2014
Commit: 87fa9c4ec0bc6e5f231d50350ed4e25be5f14cfb
Author: Antony Riakiotakis
Date: Wed Feb 12 16:26:36 2014 +0200
https://developer.blender.org/rB87fa9c4ec0bc6e5f231d50350ed4e25be5f14cfb
merge with master 054094f5827f3
===================================================================
===================================================================
diff --cc release/scripts/startup/bl_ui/space_image.py
index 86375a5,fdc5be4..958438f
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@@ -387,7 -366,7 +387,6 @@@ class IMAGE_HT_header(Header)
mode = sima.mode
show_render = sima.show_render
- show_paint = sima.show_paint
- # show_paint = sima.show_paint
show_uvedit = sima.show_uvedit
show_maskedit = sima.show_maskedit
@@@ -470,7 -429,41 +449,44 @@@
row.operator("image.play_composite", icon='PLAY')
if show_uvedit or show_maskedit or mode == 'PAINT':
- layout.prop(sima, "use_realtime_update", text="", icon_only=True, icon='LOCKED')
+ layout.prop(sima, "use_realtime_update", icon_only=True, icon='LOCKED')
+
+
+ class MASK_MT_editor_menus(Menu):
+ bl_idname = "MASK_MT_editor_menus"
+ bl_label = ""
+
+ def draw(self, context):
+ self.draw_menus(self.layout, context)
+
+ @staticmethod
+ def draw_menus(layout, context):
+ sima = context.space_data
+ ima = sima.image
+
+ show_render = sima.show_render
+ show_uvedit = sima.show_uvedit
+ show_maskedit = sima.show_maskedit
++ show_paint = sima.show_paint
+
+ layout.menu("IMAGE_MT_view")
+
+ if show_uvedit:
+ layout.menu("IMAGE_MT_select")
+ if show_maskedit:
+ layout.menu("MASK_MT_select")
++ if show_paint:
++ layout.menu("IMAGE_MT_brush")
+
+ if ima and ima.is_dirty:
+ layout.menu("IMAGE_MT_image", text="Image*")
+ else:
+ layout.menu("IMAGE_MT_image", text="Image")
+
+ if show_uvedit:
+ layout.menu("IMAGE_MT_uvs")
+ if show_maskedit:
+ layout.menu("MASK_MT_mask")
class IMAGE_PT_image_properties(Panel):
@@@ -944,24 -873,29 +957,30 @@@ class IMAGE_PT_paint_stroke(BrushButton
col = layout.column()
col.separator()
+ row = col.row(align=True)
+ row.prop(brush, "use_relative_jitter", icon_only=True)
+ if brush.use_relative_jitter:
+ row.prop(brush, "jitter", slider=True)
+ else:
+ row.prop(brush, "jitter_absolute")
+ row.prop(brush, "use_pressure_jitter", toggle=True, text="")
+
+ col = layout.column()
+ col.separator()
+
- col.prop(brush, "use_smooth_stroke")
+ if brush.brush_capabilities.has_smooth_stroke:
+ col.prop(brush, "use_smooth_stroke")
- sub = col.column()
- sub.active = brush.use_smooth_stroke
- sub.prop(brush, "smooth_stroke_radius", text="Radius", slider=True)
- sub.prop(brush, "smooth_stroke_factor", text="Factor", slider=True)
+ sub = col.column()
+ sub.active = brush.use_smooth_stroke
+ sub.prop(brush, "smooth_stroke_radius", text="Radius", slider=True)
+ sub.prop(brush, "smooth_stroke_factor", text="Factor", slider=True)
- col.separator()
+ col.separator()
- row = col.row(align=True)
- if brush.use_relative_jitter:
- row.prop(brush, "use_relative_jitter", text="", icon='LOCKED')
- row.prop(brush, "jitter", slider=True)
- else:
- row.prop(brush, "use_relative_jitter", text="", icon='UNLOCKED')
- row.prop(brush, "jitter_absolute")
- row.prop(brush, "use_pressure_jitter", toggle=True, text="")
+ col.prop(toolsettings, "input_samples")
+
+ col.separator()
col.prop(brush, "use_wrap")
diff --cc release/scripts/startup/bl_ui/space_view3d_toolbar.py
index fd7d271,f7b01bb..f16e1d9
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@@ -510,55 -732,8 +732,56 @@@ class View3DPaintPanel(UnifiedPaintPane
bl_region_type = 'TOOLS'
+class TEXTURE_UL_texpaintslots(UIList):
+ def draw_item(self, context, layout, data, item, icon, active_data, active_propname, index):
+ # assert(isinstance(item, bpy.types.MaterialTextureSlot)
+ ma = data
+ slot = item
+ tex = slot.texture if slot else None
+
+ if self.layout_type in {'DEFAULT', 'COMPACT'}:
+ # layout.label(text=tex.image.name, translate=False)
+ layout.label(text=tex.name, translate=False, icon_value=icon)
+ elif self.layout_type in {'GRID'}:
+ layout.alignment = 'CENTER'
+ layout.label(text="")
+
+
+class VIEW3D_PT_layers_projectpaint(View3DPanel, Panel):
+ bl_context = "imagepaint"
+ bl_label = "Layers"
+
+ @classmethod
+ def poll(cls, context):
+ brush = context.tool_settings.image_paint.brush
+ ob = context.active_object
+ return (brush is not None and ob is not None)
+
+ def draw(self, context):
+ layout = self.layout
+
+ settings = context.tool_settings.image_paint
+
+ ob = context.active_object
+ col = layout.column()
+
+ col.label("Materials")
+ col.template_list("MATERIAL_UL_matslots", "", ob, "material_slots", ob, "active_material_index", rows=2)
+ mat = ob.active_material;
+ if mat:
+ col.label("Available Paint layers")
+ col.template_list("TEXTURE_UL_texpaintslots", "", mat, "texture_paint_slots", mat, "active_paint_texture_index", rows=2)
+ #col.label("Only slots with UV mapping and image textures are available")
+
+ col.operator_menu_enum("paint.add_layer", "type")
+
+ row = col.row(align=True)
+ row.prop(settings, "new_layer_xresolution")
+ row.prop(settings, "new_layer_yresolution")
+
+
class VIEW3D_PT_tools_brush(Panel, View3DPaintPanel):
+ bl_category = "Tools"
bl_label = "Brush"
@classmethod
diff --cc source/blender/blenkernel/intern/paint.c
index 00bce75,690217a..c61e454
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@@ -267,52 -264,8 +267,52 @@@ void BKE_paint_brush_set(Paint *p, Brus
}
}
+Palette *BKE_paint_palette(Paint *p)
+{
+ return p ? p->palette : NULL;
+}
+
+void BKE_paint_palette_set(Paint *p, Palette *palette)
+{
+ if (p) {
+ id_us_min((ID *)p->palette);
+ id_us_plus((ID *)palette);
+ p->palette = palette;
+ }
+}
+
+/* remove colour from palette. Must be certain colour is inside the palette! */
+void BKE_palette_remove_color (Palette *palette, PaletteColor *colour)
+{
+ BLI_remlink(&palette->colors, colour);
+ MEM_freeN(colour);
+}
+
+Palette *BKE_palette_add(Main *bmain, const char *name)
+{
+ Palette *palette;
+
+ palette = BKE_libblock_alloc(&bmain->palettes, ID_PAL, name);
+
+ /* enable fake user by default */
+ palette->id.flag |= LIB_FAKEUSER;
+
+ return palette;
+}
+
+void BKE_free_palette (Palette *palette) {
+ BLI_freelistN(&palette->colors);
+}
+
+PaletteColor *BKE_palette_color_add(Palette *palette)
+{
+ PaletteColor *color = MEM_callocN(sizeof(*color), "Pallete Color");
+ BLI_addtail(&palette->colors, color);
+ return color;
+}
+
/* are we in vertex paint or weight pain face select mode? */
- int paint_facesel_test(Object *ob)
+ bool paint_facesel_test(Object *ob)
{
return ( (ob != NULL) &&
(ob->type == OB_MESH) &&
diff --cc source/blender/editors/include/ED_image.h
index b8123e4,36f3189..a3ca7ff
--- a/source/blender/editors/include/ED_image.h
+++ b/source/blender/editors/include/ED_image.h
@@@ -66,13 -66,12 +66,13 @@@ void ED_image_mouse_pos(struct SpaceIma
void ED_image_point_pos(struct SpaceImage *sima, struct ARegion *ar, float x, float y, float *xr, float *yr);
void ED_image_point_pos__reverse(struct SpaceImage *sima, struct ARegion *ar, const float co[2], float r_co[2]);
- int ED_space_image_show_render(struct SpaceImage *sima);
- int ED_space_image_show_paint(struct SpaceImage *sima);
- int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit);
- int ED_space_image_show_texpaint(struct SpaceImage *sima, struct Object *ob);
- int ED_space_image_show_uvshadow(struct SpaceImage *sima, struct Object *obedit);
+ bool ED_space_image_show_render(struct SpaceImage *sima);
+ bool ED_space_image_show_paint(struct SpaceImage *sima);
+ bool ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit);
++bool ED_space_image_show_texpaint(struct SpaceImage *sima, struct Object *ob);
+ bool ED_space_image_show_uvshadow(struct SpaceImage *sima, struct Object *obedit);
- int ED_space_image_check_show_maskedit(struct Scene *scene, struct SpaceImage *sima);
+ bool ED_space_image_check_show_maskedit(struct Scene *scene, struct SpaceImage *sima);
int ED_space_image_maskedit_poll(struct bContext *C);
int ED_space_image_maskedit_mask_poll(struct bContext *C);
diff --cc source/blender/editors/interface/interface_handlers.c
index 45d59c3,c6b0782..d952253
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@@ -237,10 -305,11 +306,10 @@@ typedef struct uiAfterFunc
- static bool ui_is_but_interactive(uiBut *but, const bool labeledit);
- static bool ui_but_contains_pt(uiBut *but, int mx, int my);
+ static bool ui_is_but_interactive(const uiBut *but, const bool labeledit);
+ static bool ui_but_contains_pt(uiBut *but, float mx, float my);
static bool ui_mouse_inside_button(ARegion *ar, uiBut *but, int x, int y);
static uiBut *ui_but_find_mouse_over_ex(ARegion *ar, int x, int y, bool ctrl);
-static uiBut *ui_but_find_mouse_over(ARegion *ar, const wmEvent *event);
static void button_activate_init(bContext *C, ARegion *ar, uiBut *but, uiButtonActivateType type);
static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState state);
static void button_activate_exit(bContext *C, uiBut *but, uiHandleButtonData *data,
diff --cc source/blender/editors/interface/interface_intern.h
index d89fe63,958e0d9..70aac7e
--- a/source/blender/editors/interface/interface_intern.h
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list