From a462d69bbf771e49d2fa49589608c375376b42ed Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Thu, 20 Dec 2012 07:57:26 +0000 Subject: Another big patch set by Bastien Montagne, thanks a lot! * Made Freestyle optional (turned on by default). * Fix for missing bpath.c updates in the previous merge of trunk changes. --- source/blender/editors/animation/CMakeLists.txt | 4 ++ source/blender/editors/animation/SConscript | 3 + .../editors/animation/anim_channels_defines.c | 8 ++- .../blender/editors/animation/anim_channels_edit.c | 10 ++++ source/blender/editors/animation/anim_filter.c | 10 +++- source/blender/editors/include/ED_anim_api.h | 6 +- source/blender/editors/include/UI_resources.h | 2 + source/blender/editors/interface/CMakeLists.txt | 4 ++ source/blender/editors/interface/SConscript | 3 + .../editors/interface/interface_templates.c | 13 ++++- source/blender/editors/interface/resources.c | 6 ++ source/blender/editors/mesh/CMakeLists.txt | 4 ++ source/blender/editors/mesh/SConscript | 3 + source/blender/editors/mesh/editmesh_select.c | 14 +++++ source/blender/editors/mesh/editmesh_tools.c | 2 + source/blender/editors/mesh/mesh_intern.h | 4 ++ source/blender/editors/mesh/mesh_ops.c | 4 ++ source/blender/editors/render/CMakeLists.txt | 8 ++- source/blender/editors/render/SConscript | 5 +- source/blender/editors/render/render_intern.h | 3 + source/blender/editors/render/render_ops.c | 2 + source/blender/editors/render/render_shading.c | 8 ++- .../blender/editors/space_buttons/CMakeLists.txt | 4 ++ source/blender/editors/space_buttons/SConscript | 3 + .../blender/editors/space_buttons/space_buttons.c | 2 + source/blender/editors/space_file/CMakeLists.txt | 4 ++ source/blender/editors/space_file/SConscript | 3 + source/blender/editors/space_file/filelist.c | 6 ++ source/blender/editors/space_nla/CMakeLists.txt | 4 ++ source/blender/editors/space_nla/SConscript | 3 + source/blender/editors/space_nla/nla_buttons.c | 2 + source/blender/editors/space_nla/nla_channels.c | 2 + source/blender/editors/space_view3d/CMakeLists.txt | 4 ++ source/blender/editors/space_view3d/SConscript | 3 + source/blender/editors/space_view3d/drawobject.c | 64 +++++++++++++++++----- 35 files changed, 209 insertions(+), 21 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/animation/CMakeLists.txt b/source/blender/editors/animation/CMakeLists.txt index 9e1e44e411d..58e38e55fa3 100644 --- a/source/blender/editors/animation/CMakeLists.txt +++ b/source/blender/editors/animation/CMakeLists.txt @@ -58,4 +58,8 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + blender_add_lib(bf_editor_animation "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/editors/animation/SConscript b/source/blender/editors/animation/SConscript index 2a6b381ba66..a4ccf1f6c3c 100644 --- a/source/blender/editors/animation/SConscript +++ b/source/blender/editors/animation/SConscript @@ -37,4 +37,7 @@ defs = [] if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + env.BlenderLib ( 'bf_editors_animation', sources, Split(incs), defs, libtype=['core'], priority=[125] ) diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c index 038fbf291d3..7362935b4cc 100644 --- a/source/blender/editors/animation/anim_channels_defines.c +++ b/source/blender/editors/animation/anim_channels_defines.c @@ -47,7 +47,9 @@ #include "DNA_key_types.h" #include "DNA_lamp_types.h" #include "DNA_lattice_types.h" -#include "DNA_linestyle_types.h" +#ifdef WITH_FREESTYLE +# include "DNA_linestyle_types.h" +#endif #include "DNA_mesh_types.h" #include "DNA_material_types.h" #include "DNA_meta_types.h" @@ -2011,6 +2013,7 @@ static bAnimChannelType ACF_DSNTREE = acf_dsntree_setting_ptr /* pointer for setting */ }; +#ifdef WITH_FREESTYLE /* LineStyle Expander ------------------------------------------- */ /* TODO: just get this from RNA? */ @@ -2087,6 +2090,7 @@ static bAnimChannelType ACF_DSLINESTYLE= acf_dslinestyle_setting_flag, /* flag for setting */ acf_dslinestyle_setting_ptr /* pointer for setting */ }; +#endif /* Mesh Expander ------------------------------------------- */ @@ -2800,7 +2804,9 @@ static void ANIM_init_channel_typeinfo_data(void) animchannelTypeInfo[type++] = &ACF_DSTEX; /* Texture Channel */ animchannelTypeInfo[type++] = &ACF_DSLAT; /* Lattice Channel */ animchannelTypeInfo[type++] = &ACF_DSSPK; /* Speaker Channel */ +#ifdef WITH_FREESTYLE animchannelTypeInfo[type++] = &ACF_DSLINESTYLE; /* LineStyle Channel */ +#endif animchannelTypeInfo[type++] = &ACF_SHAPEKEY; /* ShapeKey */ diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c index 466bb178136..275cf723dcd 100644 --- a/source/blender/editors/animation/anim_channels_edit.c +++ b/source/blender/editors/animation/anim_channels_edit.c @@ -124,7 +124,9 @@ void ANIM_set_active_channel(bAnimContext *ac, void *data, short datatype, int f case ANIMTYPE_DSMESH: case ANIMTYPE_DSTEX: case ANIMTYPE_DSLAT: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { /* need to verify that this data is valid for now */ @@ -170,7 +172,9 @@ void ANIM_set_active_channel(bAnimContext *ac, void *data, short datatype, int f case ANIMTYPE_DSARM: case ANIMTYPE_DSMESH: case ANIMTYPE_DSLAT: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { /* need to verify that this data is valid for now */ @@ -251,7 +255,9 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s case ANIMTYPE_DSNTREE: case ANIMTYPE_DSTEX: case ANIMTYPE_DSLAT: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { if ((ale->adt) && (ale->adt->flag & ADT_UI_SELECTED)) @@ -346,7 +352,9 @@ void ANIM_deselect_anim_channels(bAnimContext *ac, void *data, short datatype, s case ANIMTYPE_DSNTREE: case ANIMTYPE_DSTEX: case ANIMTYPE_DSLAT: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { /* need to verify that this data is valid for now */ @@ -2211,7 +2219,9 @@ static int mouse_anim_channels(bAnimContext *ac, float UNUSED(x), int channel_in case ANIMTYPE_DSNTREE: case ANIMTYPE_DSTEX: case ANIMTYPE_DSLAT: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { /* sanity checking... */ diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c index 86cb805c68a..23d35c80409 100644 --- a/source/blender/editors/animation/anim_filter.c +++ b/source/blender/editors/animation/anim_filter.c @@ -55,7 +55,9 @@ #include "DNA_camera_types.h" #include "DNA_lamp_types.h" #include "DNA_lattice_types.h" -#include "DNA_linestyle_types.h" +#ifdef WITH_FREESTYLE +# include "DNA_linestyle_types.h" +#endif #include "DNA_key_types.h" #include "DNA_mask_types.h" #include "DNA_material_types.h" @@ -737,6 +739,7 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->adt = BKE_animdata_from_id(data); } break; +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: { FreestyleLineStyle *linestyle = (FreestyleLineStyle *)data; @@ -750,6 +753,7 @@ static bAnimListElem *make_new_animlistelem(void *data, short datatype, ID *owne ale->adt = BKE_animdata_from_id(data); } break; +#endif case ANIMTYPE_DSPART: { ParticleSettings *part = (ParticleSettings *)ale->data; @@ -1527,6 +1531,7 @@ static size_t animdata_filter_ds_nodetree(bAnimContext *ac, ListBase *anim_data, return items; } +#ifdef WITH_FREESTYLE static size_t animdata_filter_ds_linestyle (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode) { SceneRenderLayer *srl; @@ -1574,6 +1579,7 @@ static size_t animdata_filter_ds_linestyle (bAnimContext *ac, ListBase *anim_dat /* return the number of items added to the list */ return items; } +#endif /* NOTE: owner_id is either material, lamp, or world block, which is the direct owner of the texture stack in question */ static size_t animdata_filter_ds_textures(bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, int filter_mode) @@ -2209,10 +2215,12 @@ static size_t animdata_filter_dopesheet_scene(bAnimContext *ac, ListBase *anim_d tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)sce, ntree, filter_mode); } +#ifdef WITH_FREESTYLE /* line styles */ if ((ads->filterflag & ADS_FILTER_NOLINESTYLE) == 0) { tmp_items += animdata_filter_ds_linestyle(ac, &tmp_data, ads, sce, filter_mode); } +#endif /* TODO: one day, when sequencer becomes its own datatype, perhaps it should be included here */ } diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index e288963553e..7ce25b11f93 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -155,7 +155,9 @@ typedef enum eAnim_ChannelType { ANIMTYPE_DSMESH, ANIMTYPE_DSTEX, ANIMTYPE_DSLAT, +#ifdef WITH_FREESTYLE ANIMTYPE_DSLINESTYLE, +#endif ANIMTYPE_DSSPK, ANIMTYPE_SHAPEKEY, @@ -237,7 +239,9 @@ typedef enum eAnimFilter_Flags { #define EXPANDED_SCEC(sce) (CHECK_TYPE_INLINE(sce, Scene), ((sce->flag & SCE_DS_COLLAPSED) == 0)) /* 'Sub-Scene' channels (flags stored in Data block) */ #define FILTER_WOR_SCED(wo) (CHECK_TYPE_INLINE(wo, World), (wo->flag & WO_DS_EXPAND)) -#define FILTER_LS_SCED(linestyle) ((linestyle->flag & LS_DS_EXPAND)) +#ifdef WITH_FREESTYLE +# define FILTER_LS_SCED(linestyle) ((linestyle->flag & LS_DS_EXPAND)) +#endif /* 'Object' channels */ #define SEL_OBJC(base) (CHECK_TYPE_INLINE(base, Base), ((base->flag & SELECT))) #define EXPANDED_OBJC(ob) (CHECK_TYPE_INLINE(ob, Object), ((ob->nlaflag & OB_ADS_COLLAPSED) == 0)) diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h index a43e1705101..bbc9ca3502d 100644 --- a/source/blender/editors/include/UI_resources.h +++ b/source/blender/editors/include/UI_resources.h @@ -200,8 +200,10 @@ enum { TH_STITCH_PREVIEW_UNSTITCHABLE, TH_STITCH_PREVIEW_ACTIVE, +#ifdef WITH_FREESTYLE TH_FREESTYLE_EDGE_MARK, TH_FREESTYLE_FACE_MARK, +#endif TH_MATCH, /* highlight color for search matches */ TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */ diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt index 8ba86673f87..267e7c05737 100644 --- a/source/blender/editors/interface/CMakeLists.txt +++ b/source/blender/editors/interface/CMakeLists.txt @@ -62,6 +62,10 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + if(WITH_HEADLESS) add_definitions(-DWITH_HEADLESS) endif() diff --git a/source/blender/editors/interface/SConscript b/source/blender/editors/interface/SConscript index 8d277d6cd35..16e4e6cb9c0 100644 --- a/source/blender/editors/interface/SConscript +++ b/source/blender/editors/interface/SConscript @@ -42,6 +42,9 @@ defs = [] if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + if env['WITH_BF_PYTHON']: defs.append('WITH_PYTHON') diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 456a8a95a58..33f647d1db6 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -325,7 +325,9 @@ static const char *template_id_browse_tip(StructRNA *type) case ID_MA: return N_("Browse Material to be linked"); case ID_TE: return N_("Browse Texture to be linked"); case ID_IM: return N_("Browse Image to be linked"); +#ifdef WITH_FREESTYLE case ID_LS: return N_("Browse Line Style Data to be linked"); +#endif case ID_LT: return N_("Browse Lattice Data to be linked"); case ID_LA: return N_("Browse Lamp Data to be linked"); case ID_CA: return N_("Browse Camera Data to be linked"); @@ -361,7 +363,9 @@ static const char *template_id_context(StructRNA *type) case ID_MA: return BLF_I18NCONTEXT_ID_MATERIAL; case ID_TE: return BLF_I18NCONTEXT_ID_TEXTURE; case ID_IM: return BLF_I18NCONTEXT_ID_IMAGE; +#ifdef WITH_FREESTYLE case ID_LS: return BLF_I18NCONTEXT_ID_FREESTYLELINESTYLE; +#endif case ID_LT: return BLF_I18NCONTEXT_ID_LATTICE; case ID_LA: return BLF_I18NCONTEXT_ID_LAMP; case ID_CA: return BLF_I18NCONTEXT_ID_CAMERA; @@ -518,7 +522,10 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str BLF_I18NCONTEXT_ID_BRUSH, BLF_I18NCONTEXT_ID_PARTICLESETTINGS, BLF_I18NCONTEXT_ID_GPENCIL, - BLF_I18NCONTEXT_ID_FREESTYLELINESTYLE); +#ifdef WITH_FREESTYLE + BLF_I18NCONTEXT_ID_FREESTYLELINESTYLE +#endif + ); if (newop) { but = uiDefIconTextButO(block, BUT, newop, WM_OP_INVOKE_DEFAULT, ICON_ZOOMIN, @@ -2414,8 +2421,12 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe uiBlockSetEmboss(block, UI_EMBOSS); uiDefButR(block, OPTION, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, ptr, "use_textures", i, 0, 0, 0, 0, NULL); } +#ifdef WITH_FREESTYLE else if (RNA_struct_is_a(itemptr->type, &RNA_SceneRenderLayer) || RNA_struct_is_a(itemptr->type, &RNA_FreestyleLineSet)) { +#else + else if (RNA_struct_is_a(itemptr->type, &RNA_SceneRenderLayer)) { +#endif uiItemL(sub, name, icon); uiBlockSetEmboss(block, UI_EMBOSS); uiDefButR(block, OPTION, 0, "", 0, 0, UI_UNIT_X, UI_UNIT_Y, itemptr, "use", 0, 0, 0, 0, 0, NULL); diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index b45d14bfa90..20d7277a94d 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -349,10 +349,12 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo cp = ts->handle_sel_vect; break; case TH_HANDLE_SEL_ALIGN: cp = ts->handle_sel_align; break; +#ifdef WITH_FREESTYLE case TH_FREESTYLE_EDGE_MARK: cp = ts->freestyle_edge_mark; break; case TH_FREESTYLE_FACE_MARK: cp = ts->freestyle_face_mark; break; +#endif case TH_SYNTAX_B: cp = ts->syntaxb; break; @@ -732,8 +734,10 @@ void ui_theme_init_default(void) rgba_char_args_set(btheme->tv3d.button_text_hi, 255, 255, 255, 255); rgba_char_args_set(btheme->tv3d.button_title, 0, 0, 0, 255); rgba_char_args_set(btheme->tv3d.title, 0, 0, 0, 255); +#ifdef WITH_FREESTYLE rgba_char_args_set(btheme->tv3d.freestyle_edge_mark, 0x7f, 0xff, 0x7f, 255); rgba_char_args_set(btheme->tv3d.freestyle_face_mark, 0x7f, 0xff, 0x7f, 51); +#endif btheme->tv3d.facedot_size = 4; @@ -1979,6 +1983,7 @@ void init_userdef_do_versions(void) } } +#ifdef WITH_FREESTYLE /* Freestyle color settings */ { bTheme *btheme; @@ -1991,6 +1996,7 @@ void init_userdef_do_versions(void) } } } +#endif /* GL Texture Garbage Collection (variable abused above!) */ if (U.textimeout == 0) { diff --git a/source/blender/editors/mesh/CMakeLists.txt b/source/blender/editors/mesh/CMakeLists.txt index c51d2cfb2e5..3180886b2b6 100644 --- a/source/blender/editors/mesh/CMakeLists.txt +++ b/source/blender/editors/mesh/CMakeLists.txt @@ -73,6 +73,10 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + if(WITH_BULLET) add_definitions(-DWITH_BULLET) endif() diff --git a/source/blender/editors/mesh/SConscript b/source/blender/editors/mesh/SConscript index 11c90a4a922..55ad14a50fc 100644 --- a/source/blender/editors/mesh/SConscript +++ b/source/blender/editors/mesh/SConscript @@ -53,6 +53,9 @@ else: if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + if env['WITH_BF_BULLET']: defs.append('WITH_BULLET') diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index 2538ddfc886..a46edb19662 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -683,7 +683,9 @@ static EnumPropertyItem prop_similar_types[] = { {SIMEDGE_BEVEL, "BEVEL", 0, "Bevel", ""}, {SIMEDGE_SEAM, "SEAM", 0, "Seam", ""}, {SIMEDGE_SHARP, "SHARP", 0, "Sharpness", ""}, +#ifdef WITH_FREESTYLE {SIMEDGE_FREESTYLE, "FREESTYLE_EDGE", 0, "Freestyle Edge Marks", ""}, +#endif {SIMFACE_MATERIAL, "MATERIAL", 0, "Material", ""}, {SIMFACE_IMAGE, "IMAGE", 0, "Image", ""}, @@ -692,7 +694,9 @@ static EnumPropertyItem prop_similar_types[] = { {SIMFACE_PERIMETER, "PERIMETER", 0, "Perimeter", ""}, {SIMFACE_NORMAL, "NORMAL", 0, "Normal", ""}, {SIMFACE_COPLANAR, "COPLANAR", 0, "Co-planar", ""}, +#ifdef WITH_FREESTYLE {SIMFACE_FREESTYLE, "FREESTYLE_FACE", 0, "Freestyle Face Marks", ""}, +#endif {0, NULL, 0, NULL, NULL} }; @@ -867,7 +871,11 @@ static EnumPropertyItem *select_similar_type_itemf(bContext *C, PointerRNA *UNUS } } else if (em->selectmode & SCE_SELECT_FACE) { +#ifdef WITH_FREESTYLE for (a = SIMFACE_MATERIAL; a <= SIMFACE_FREESTYLE; a++) { +#else + for (a = SIMFACE_MATERIAL; a <= SIMFACE_COPLANAR; a++) { +#endif RNA_enum_items_add_value(&item, &totitem, prop_similar_types, a); } } @@ -1317,9 +1325,11 @@ static void edgetag_context_set(BMesh *bm, Scene *scene, BMEdge *e, int val) case EDGE_MODE_TAG_SHARP: BM_elem_flag_set(e, BM_ELEM_SMOOTH, !val); break; +#ifdef WITH_FREESTYLE case EDGE_MODE_TAG_FREESTYLE: BM_elem_flag_set(e, BM_ELEM_FREESTYLE, val); break; +#endif case EDGE_MODE_TAG_CREASE: BM_elem_float_data_set(&bm->edata, e, CD_CREASE, (val) ? 1.0f : 0.0f); break; @@ -1338,8 +1348,10 @@ static int edgetag_context_check(Scene *scene, BMesh *bm, BMEdge *e) return BM_elem_flag_test(e, BM_ELEM_SEAM); case EDGE_MODE_TAG_SHARP: return !BM_elem_flag_test(e, BM_ELEM_SMOOTH); +#ifdef WITH_FREESTYLE case EDGE_MODE_TAG_FREESTYLE: return !BM_elem_flag_test(e, BM_ELEM_FREESTYLE); +#endif case EDGE_MODE_TAG_CREASE: return BM_elem_float_data_get(&bm->edata, e, CD_CREASE) ? TRUE : FALSE; case EDGE_MODE_TAG_BEVEL: @@ -1494,9 +1506,11 @@ static int mouse_mesh_shortest_path_edge(ViewContext *vc) case EDGE_MODE_TAG_BEVEL: me->drawflag |= ME_DRAWBWEIGHTS; break; +#ifdef WITH_FREESTYLE case EDGE_MODE_TAG_FREESTYLE: me->drawflag |= ME_DRAW_FREESTYLE_EDGE; break; +#endif } EDBM_update_generic(em, FALSE, FALSE); diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index df2722f1fbc..c15c1d4a4de 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -5764,6 +5764,7 @@ void MESH_OT_symmetrize(struct wmOperatorType *ot) "Direction", "Which sides to copy from and to"); } +#ifdef WITH_FREESTYLE static int edbm_mark_freestyle_edge(bContext *C, wmOperator *op) { Object *obedit = CTX_data_edit_object(C); @@ -5867,3 +5868,4 @@ void MESH_OT_mark_freestyle_face(wmOperatorType *ot) RNA_def_boolean(ot->srna, "clear", 0, "Clear", ""); } +#endif \ No newline at end of file diff --git a/source/blender/editors/mesh/mesh_intern.h b/source/blender/editors/mesh/mesh_intern.h index 043679b9d8a..790a7eae487 100644 --- a/source/blender/editors/mesh/mesh_intern.h +++ b/source/blender/editors/mesh/mesh_intern.h @@ -131,7 +131,9 @@ void MESH_OT_select_random(struct wmOperatorType *ot); void MESH_OT_loop_multi_select(struct wmOperatorType *ot); void MESH_OT_mark_seam(struct wmOperatorType *ot); void MESH_OT_mark_sharp(struct wmOperatorType *ot); +#ifdef WITH_FREESTYLE void MESH_OT_mark_freestyle_edge(struct wmOperatorType *ot); +#endif void MESH_OT_vertices_smooth(struct wmOperatorType *ot); void MESH_OT_vertices_smooth_laplacian(struct wmOperatorType *ot); void MESH_OT_noise(struct wmOperatorType *ot); @@ -181,7 +183,9 @@ void MESH_OT_rip(struct wmOperatorType *ot); void MESH_OT_shape_propagate_to_all(struct wmOperatorType *ot); void MESH_OT_blend_from_shape(struct wmOperatorType *ot); void MESH_OT_sort_elements(struct wmOperatorType *ot); +#ifdef WITH_FREESTYLE void MESH_OT_mark_freestyle_face(struct wmOperatorType *ot); +#endif /* ******************* mesh_data.c */ diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index a2ac08268e0..12b68f0e419 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -118,7 +118,9 @@ void ED_operatortypes_mesh(void) WM_operatortype_append(MESH_OT_faces_shade_smooth); WM_operatortype_append(MESH_OT_faces_shade_flat); WM_operatortype_append(MESH_OT_sort_elements); +#ifdef WITH_FREESTYLE WM_operatortype_append(MESH_OT_mark_freestyle_face); +#endif WM_operatortype_append(MESH_OT_delete); WM_operatortype_append(MESH_OT_edge_collapse); @@ -134,7 +136,9 @@ void ED_operatortypes_mesh(void) WM_operatortype_append(MESH_OT_loop_multi_select); WM_operatortype_append(MESH_OT_mark_seam); WM_operatortype_append(MESH_OT_mark_sharp); +#ifdef WITH_FREESTYLE WM_operatortype_append(MESH_OT_mark_freestyle_edge); +#endif WM_operatortype_append(MESH_OT_vertices_smooth); WM_operatortype_append(MESH_OT_vertices_smooth_laplacian); WM_operatortype_append(MESH_OT_noise); diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt index c9be7d0e5e0..b858d715cfe 100644 --- a/source/blender/editors/render/CMakeLists.txt +++ b/source/blender/editors/render/CMakeLists.txt @@ -36,7 +36,6 @@ set(INC set(INC_SYS ${GLEW_INCLUDE_PATH} - ../../freestyle ) set(SRC @@ -69,4 +68,11 @@ if(WITH_HEADLESS) add_definitions(-DWITH_HEADLESS) endif() +if(WITH_FREESTYLE) + list(APPEND INC + ../../freestyle + ) + add_definitions(-DWITH_FREESTYLE) +endif() + blender_add_lib(bf_editor_render "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/editors/render/SConscript b/source/blender/editors/render/SConscript index 15bcb9a907f..9d1de2fc700 100644 --- a/source/blender/editors/render/SConscript +++ b/source/blender/editors/render/SConscript @@ -31,7 +31,7 @@ sources = env.Glob('*.c') incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf' incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include' -incs += ' ../../gpu ../../freestyle' +incs += ' ../../gpu' incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern' incs += ' ../../blenloader ../../bmesh' @@ -42,6 +42,9 @@ if env['OURPLATFORM'] == 'linux': if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', 'win64-mingw'): incs += ' ' + env['BF_PTHREADS_INC'] +if env['WITH_BF_FREESTYLE']: + incs += ' ../../freestyle' + env.Append(CFLAGS=['-DWITH_FREESTYLE']) if env['WITH_BF_QUICKTIME']: incs += ' ../../quicktime' diff --git a/source/blender/editors/render/render_intern.h b/source/blender/editors/render/render_intern.h index 40d0c9536f4..88c00601933 100644 --- a/source/blender/editors/render/render_intern.h +++ b/source/blender/editors/render/render_intern.h @@ -53,6 +53,8 @@ void MATERIAL_OT_paste(struct wmOperatorType *ot); void SCENE_OT_render_layer_add(struct wmOperatorType *ot); void SCENE_OT_render_layer_remove(struct wmOperatorType *ot); + +#ifdef WITH_FREESTYLE void SCENE_OT_freestyle_module_add(struct wmOperatorType *ot); void SCENE_OT_freestyle_module_remove(struct wmOperatorType *ot); void SCENE_OT_freestyle_module_move(struct wmOperatorType *ot); @@ -69,6 +71,7 @@ void SCENE_OT_freestyle_geometry_modifier_add(struct wmOperatorType *ot); void SCENE_OT_freestyle_modifier_remove(struct wmOperatorType *ot); void SCENE_OT_freestyle_modifier_move(struct wmOperatorType *ot); void SCENE_OT_freestyle_modifier_copy(struct wmOperatorType *ot); +#endif void TEXTURE_OT_slot_copy(struct wmOperatorType *ot); diff --git a/source/blender/editors/render/render_ops.c b/source/blender/editors/render/render_ops.c index eb9a4cb30e4..ebd2cc941d0 100644 --- a/source/blender/editors/render/render_ops.c +++ b/source/blender/editors/render/render_ops.c @@ -62,6 +62,7 @@ void ED_operatortypes_render(void) WM_operatortype_append(SCENE_OT_render_layer_add); WM_operatortype_append(SCENE_OT_render_layer_remove); +#ifdef WITH_FREESTYLE WM_operatortype_append(SCENE_OT_freestyle_module_add); WM_operatortype_append(SCENE_OT_freestyle_module_remove); WM_operatortype_append(SCENE_OT_freestyle_module_move); @@ -78,6 +79,7 @@ void ED_operatortypes_render(void) WM_operatortype_append(SCENE_OT_freestyle_modifier_remove); WM_operatortype_append(SCENE_OT_freestyle_modifier_move); WM_operatortype_append(SCENE_OT_freestyle_modifier_copy); +#endif #if (defined(WITH_QUICKTIME) && !defined(USE_QTKIT)) WM_operatortype_append(SCENE_OT_render_data_set_quicktime_codec); diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c index 928930c61f9..bc33936b2e3 100644 --- a/source/blender/editors/render/render_shading.c +++ b/source/blender/editors/render/render_shading.c @@ -55,7 +55,6 @@ #include "BKE_icons.h" #include "BKE_image.h" #include "BKE_library.h" -#include "BKE_linestyle.h" #include "BKE_main.h" #include "BKE_material.h" #include "BKE_node.h" @@ -70,7 +69,10 @@ #include "GPU_material.h" -#include "FRS_freestyle.h" +#ifdef WITH_FREESTYLE +# include "BKE_linestyle.h" +# include "FRS_freestyle.h" +#endif #include "RNA_access.h" #include "RNA_enum_types.h" @@ -574,6 +576,7 @@ void SCENE_OT_render_layer_remove(wmOperatorType *ot) ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; } +#ifdef WITH_FREESTYLE static int freestyle_module_add_exec(bContext *C, wmOperator *UNUSED(op)) { Scene *scene = CTX_data_scene(C); @@ -1187,6 +1190,7 @@ void SCENE_OT_freestyle_modifier_move(wmOperatorType *ot) /* props */ RNA_def_enum(ot->srna, "direction", direction_items, 0, "Direction", "Direction to move, UP or DOWN"); } +#endif static int texture_slot_move(bContext *C, wmOperator *op) { diff --git a/source/blender/editors/space_buttons/CMakeLists.txt b/source/blender/editors/space_buttons/CMakeLists.txt index 7233d4623d1..10080c62594 100644 --- a/source/blender/editors/space_buttons/CMakeLists.txt +++ b/source/blender/editors/space_buttons/CMakeLists.txt @@ -48,4 +48,8 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + blender_add_lib(bf_editor_space_buttons "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/editors/space_buttons/SConscript b/source/blender/editors/space_buttons/SConscript index 5250a1264a4..1f7939598c8 100644 --- a/source/blender/editors/space_buttons/SConscript +++ b/source/blender/editors/space_buttons/SConscript @@ -38,4 +38,7 @@ defs = [] if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + env.BlenderLib ( 'bf_editors_space_buttons', sources, Split(incs), defs, libtype=['core'], priority=[120] ) diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c index 698139e90bf..6367ca893d1 100644 --- a/source/blender/editors/space_buttons/space_buttons.c +++ b/source/blender/editors/space_buttons/space_buttons.c @@ -378,10 +378,12 @@ static void buttons_area_listener(ScrArea *sa, wmNotifier *wmn) ED_area_tag_redraw(sa); sbuts->preview = 1; break; +#ifdef WITH_FREESTYLE case NC_LINESTYLE: ED_area_tag_redraw(sa); sbuts->preview = 1; break; +#endif } if (wmn->data == ND_KEYS) diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt index 98e147413ff..b30f008e1bf 100644 --- a/source/blender/editors/space_file/CMakeLists.txt +++ b/source/blender/editors/space_file/CMakeLists.txt @@ -82,4 +82,8 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + blender_add_lib(bf_editor_space_file "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/editors/space_file/SConscript b/source/blender/editors/space_file/SConscript index c3f8c6667f7..6459f880bc4 100644 --- a/source/blender/editors/space_file/SConscript +++ b/source/blender/editors/space_file/SConscript @@ -48,6 +48,9 @@ if env['WITH_BF_TIFF']: if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + if env['OURPLATFORM'] == 'linux': cflags='-pthread' incs += ' ../../../extern/binreloc/include' diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c index 5b21ebf1742..142eb2214a1 100644 --- a/source/blender/editors/space_file/filelist.c +++ b/source/blender/editors/space_file/filelist.c @@ -1162,7 +1162,11 @@ void filelist_from_main(struct FileList *filelist) if (filelist->dir[0] == 0) { /* make directories */ +#ifdef WITH_FREESTYLE filelist->numfiles = 25; +#else + filelist->numfiles = 24; +#endif filelist->filelist = (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry)); for (a = 0; a < filelist->numfiles; a++) { @@ -1193,7 +1197,9 @@ void filelist_from_main(struct FileList *filelist) filelist->filelist[21].relname = BLI_strdup("Action"); filelist->filelist[22].relname = BLI_strdup("NodeTree"); filelist->filelist[23].relname = BLI_strdup("Speaker"); +#ifdef WITH_FREESTYLE filelist->filelist[24].relname = BLI_strdup("FreestyleLineStyle"); +#endif filelist_sort(filelist, FILE_SORT_ALPHA); } else { diff --git a/source/blender/editors/space_nla/CMakeLists.txt b/source/blender/editors/space_nla/CMakeLists.txt index aa3598e8e1f..32fb3850cee 100644 --- a/source/blender/editors/space_nla/CMakeLists.txt +++ b/source/blender/editors/space_nla/CMakeLists.txt @@ -50,4 +50,8 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + blender_add_lib(bf_editor_space_nla "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/editors/space_nla/SConscript b/source/blender/editors/space_nla/SConscript index 18c6392eee9..2316f37e661 100644 --- a/source/blender/editors/space_nla/SConscript +++ b/source/blender/editors/space_nla/SConscript @@ -37,4 +37,7 @@ defs = [] if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + env.BlenderLib ( 'bf_editors_space_nla', sources, Split(incs), defs, libtype=['core'], priority=[85] ) diff --git a/source/blender/editors/space_nla/nla_buttons.c b/source/blender/editors/space_nla/nla_buttons.c index ad6e66f7a7d..e2eb1f030b3 100644 --- a/source/blender/editors/space_nla/nla_buttons.c +++ b/source/blender/editors/space_nla/nla_buttons.c @@ -142,7 +142,9 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA case ANIMTYPE_DSPART: case ANIMTYPE_DSMBALL: case ANIMTYPE_DSARM: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { /* for these channels, we only do AnimData */ diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c index cf56f254c36..97581cefc2b 100644 --- a/source/blender/editors/space_nla/nla_channels.c +++ b/source/blender/editors/space_nla/nla_channels.c @@ -178,7 +178,9 @@ static int mouse_nla_channels(bAnimContext *ac, float x, int channel_index, shor case ANIMTYPE_DSMESH: case ANIMTYPE_DSTEX: case ANIMTYPE_DSLAT: +#ifdef WITH_FREESTYLE case ANIMTYPE_DSLINESTYLE: +#endif case ANIMTYPE_DSSPK: { /* sanity checking... */ diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt index 35dd88c3209..462619a7e8b 100644 --- a/source/blender/editors/space_view3d/CMakeLists.txt +++ b/source/blender/editors/space_view3d/CMakeLists.txt @@ -75,4 +75,8 @@ if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() +if(WITH_FREESTYLE) + add_definitions(-DWITH_FREESTYLE) +endif() + blender_add_lib(bf_editor_space_view3d "${SRC}" "${INC}" "${INC_SYS}") diff --git a/source/blender/editors/space_view3d/SConscript b/source/blender/editors/space_view3d/SConscript index 578f06ada16..b775c5bba59 100644 --- a/source/blender/editors/space_view3d/SConscript +++ b/source/blender/editors/space_view3d/SConscript @@ -45,4 +45,7 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc', ' if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') +if env['WITH_BF_FREESTYLE']: + defs.append('WITH_FREESTYLE') + env.BlenderLib ( 'bf_editors_space_view3d', sources, Split(incs), defines = defs, libtype=['core'], priority=[40] ) diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index fd1eb7852c1..1f071e5f20e 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -126,7 +126,11 @@ typedef struct drawDMEdgesSel_userData { } drawDMEdgesSel_userData; typedef struct drawDMFacesSel_userData { +#ifdef WITH_FREESTYLE unsigned char *cols[4]; +#else + unsigned char *cols[3]; +#endif DerivedMesh *dm; /* BMESH BRANCH ONLY */ BMEditMesh *em; /* BMESH BRANCH ONLY */ @@ -2280,6 +2284,7 @@ static void draw_dm_edges_sharp(BMEditMesh *em, DerivedMesh *dm) dm->drawMappedEdges(dm, draw_dm_edges_sharp__setDrawOptions, em); } +#ifdef WITH_FREESTYLE /* Draw only Freestyle feature edges */ static DMDrawOption draw_dm_edges_freestyle__setDrawOptions(void *userData, int index) { @@ -2295,6 +2300,7 @@ static void draw_dm_edges_freestyle(BMEditMesh *em, DerivedMesh *dm) { dm->drawMappedEdges(dm, draw_dm_edges_freestyle__setDrawOptions, em); } +#endif /* Draw faces with color set based on selection * return 2 for the active face so it renders with stipple enabled */ @@ -2309,11 +2315,15 @@ static DMDrawOption draw_dm_faces_sel__setDrawOptions(void *userData, int index) if (!BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) { if (efa == data->efa_act) { - glColor4ubv(data->cols[3]); + glColor4ubv(data->cols[2]); return DM_DRAW_OPTION_STIPPLE; } else { - col = data->cols[BM_elem_flag_test(efa, BM_ELEM_SELECT) ? 1 : BM_elem_flag_test(efa, BM_ELEM_FREESTYLE) ? 2 : 0]; +#ifdef WITH_FREESTYLE + col = data->cols[BM_elem_flag_test(efa, BM_ELEM_SELECT) ? 1 : BM_elem_flag_test(efa, BM_ELEM_FREESTYLE) ? 3 : 0]; +#else + col = data->cols[BM_elem_flag_test(efa, BM_ELEM_SELECT) ? 1 : 0]; +#endif if (col[3] == 0) return DM_DRAW_OPTION_SKIP; glColor4ubv(col); @@ -2344,8 +2354,13 @@ static int draw_dm_faces_sel__compareDrawOptions(void *userData, int index, int if (efa == data->efa_act || next_efa == data->efa_act) return 0; - col = data->cols[BM_elem_flag_test(efa, BM_ELEM_SELECT) ? 1 : BM_elem_flag_test(efa, BM_ELEM_FREESTYLE) ? 2 : 0]; - next_col = data->cols[BM_elem_flag_test(next_efa, BM_ELEM_SELECT) ? 1 : BM_elem_flag_test(next_efa, BM_ELEM_FREESTYLE) ? 2 : 0]; +#ifdef WITH_FREESTYLE + col = data->cols[BM_elem_flag_test(efa, BM_ELEM_SELECT) ? 1 : BM_elem_flag_test(efa, BM_ELEM_FREESTYLE) ? 3 : 0]; + next_col = data->cols[BM_elem_flag_test(next_efa, BM_ELEM_SELECT) ? 1 : BM_elem_flag_test(next_efa, BM_ELEM_FREESTYLE) ? 3 : 0]; +#else + col = data->cols[BM_elem_flag_test(efa, BM_ELEM_SELECT) ? 1 : 0]; + next_col = data->cols[BM_elem_flag_test(next_efa, BM_ELEM_SELECT) ? 1 : 0]; +#endif if (col[3] == 0 || next_col[3] == 0) return 0; @@ -2354,16 +2369,23 @@ static int draw_dm_faces_sel__compareDrawOptions(void *userData, int index, int } /* also draws the active face */ +#ifdef WITH_FREESTYLE static void draw_dm_faces_sel(BMEditMesh *em, DerivedMesh *dm, unsigned char *baseCol, - unsigned char *selCol, unsigned char *markCol, unsigned char *actCol, BMFace *efa_act) + unsigned char *selCol, unsigned char *actCol, unsigned char *markCol, BMFace *efa_act) +#else +static void draw_dm_faces_sel(BMEditMesh *em, DerivedMesh *dm, unsigned char *baseCol, + unsigned char *selCol, unsigned char *actCol, BMFace *efa_act) +#endif { drawDMFacesSel_userData data; data.dm = dm; data.cols[0] = baseCol; data.em = em; data.cols[1] = selCol; - data.cols[2] = markCol; - data.cols[3] = actCol; + data.cols[2] = actCol; +#ifdef WITH_FREESTYLE + data.cols[3] = markCol; +#endif data.efa_act = efa_act; /* double lookup */ data.orig_index_mf_to_mpoly = DM_get_tessface_data_layer(dm, CD_ORIGINDEX); @@ -2900,12 +2922,17 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, } if (me->drawflag & ME_DRAWFACES) { /* transp faces */ - unsigned char col1[4], col2[4], col3[4], col4[4]; + unsigned char col1[4], col2[4], col3[4]; +#ifdef WITH_FREESTYLE + unsigned char col4[4]; +#endif UI_GetThemeColor4ubv(TH_FACE, col1); UI_GetThemeColor4ubv(TH_FACE_SELECT, col2); - UI_GetThemeColor4ubv(TH_FREESTYLE_FACE_MARK, col3); - UI_GetThemeColor4ubv(TH_EDITMESH_ACTIVE, col4); + UI_GetThemeColor4ubv(TH_EDITMESH_ACTIVE, col3); +#ifdef WITH_FREESTYLE + UI_GetThemeColor4ubv(TH_FREESTYLE_FACE_MARK, col4); +#endif glEnable(GL_BLEND); glDepthMask(0); /* disable write in zbuffer, needed for nice transp */ @@ -2914,10 +2941,14 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, if (check_object_draw_texture(scene, v3d, dt)) col1[3] = 0; +#ifdef WITH_FREESTYLE if (!(me->drawflag & ME_DRAW_FREESTYLE_FACE)) - col3[3] = 0; + col4[3] = 0; draw_dm_faces_sel(em, cageDM, col1, col2, col3, col4, efa_act); +#else + draw_dm_faces_sel(em, cageDM, col1, col2, col3, efa_act); +#endif glDisable(GL_BLEND); glDepthMask(1); /* restore write in zbuffer */ @@ -2926,14 +2957,19 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, /* even if draw faces is off it would be nice to draw the stipple face * Make all other faces zero alpha except for the active * */ + /* col4 is only used by WITH_FREESTYLE, but keeping it here spares some #ifdef's... */ unsigned char col1[4], col2[4], col3[4], col4[4]; - col1[3] = col2[3] = col3[3] = 0; /* don't draw */ - UI_GetThemeColor4ubv(TH_EDITMESH_ACTIVE, col4); + col1[3] = col2[3] = col4[3] = 0; /* don't draw */ + UI_GetThemeColor4ubv(TH_EDITMESH_ACTIVE, col3); glEnable(GL_BLEND); glDepthMask(0); /* disable write in zbuffer, needed for nice transp */ +#ifdef WITH_FREESTYLE draw_dm_faces_sel(em, cageDM, col1, col2, col3, col4, efa_act); +#else + draw_dm_faces_sel(em, cageDM, col1, col2, col3, efa_act); +#endif glDisable(GL_BLEND); glDepthMask(1); /* restore write in zbuffer */ @@ -2969,6 +3005,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, glLineWidth(1); } +#ifdef WITH_FREESTYLE if(me->drawflag & ME_DRAW_FREESTYLE_EDGE) { UI_ThemeColor(TH_FREESTYLE_EDGE_MARK); glLineWidth(2); @@ -2978,6 +3015,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, glColor3ub(0,0,0); glLineWidth(1); } +#endif if (me->drawflag & ME_DRAWCREASES && CustomData_has_layer(&em->bm->edata, CD_CREASE)) { draw_dm_creases(em, cageDM); -- cgit v1.2.3