Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/include/ED_gpencil.h
| Context not available. | |||||
| #include "ED_numinput.h" | #include "ED_numinput.h" | ||||
| struct ID; | |||||
| struct ListBase; | |||||
| struct bContext; | |||||
| struct ScrArea; | |||||
| struct ARegion; | struct ARegion; | ||||
| struct View3D; | struct bAnimContext; | ||||
| struct Object; | struct bContext; | ||||
| struct bGPdata; | struct bGPdata; | ||||
| struct bGPDlayer; | struct bGPDlayer; | ||||
| struct bGPDframe; | struct bGPDframe; | ||||
| struct bGPDstroke; | struct bGPDstroke; | ||||
| struct bGPDpalette; | struct bGPDpalette; | ||||
| struct bGPDpalettecolor; | struct bGPDpalettecolor; | ||||
| struct bAnimContext; | struct bGPDspoint; | ||||
| struct ID; | |||||
| struct KeyframeEditData; | struct KeyframeEditData; | ||||
| struct ListBase; | |||||
| struct Object; | |||||
| struct Palette; | |||||
| struct PaletteColor; | |||||
| struct PointerRNA; | struct PointerRNA; | ||||
| struct RegionView3D; | |||||
| struct ScrArea; | |||||
| struct ToolSettings; | |||||
| struct View3D; | |||||
| struct Scene; | struct Scene; | ||||
| struct SceneLayer; | struct SceneLayer; | ||||
| struct wmWindowManager; | struct wmWindowManager; | ||||
| struct wmKeyConfig; | struct wmKeyConfig; | ||||
| struct wmWindowManager; | |||||
| /* ------------- Grease-Pencil Helpers ---------------- */ | /* ------------- Grease-Pencil Helpers ---------------- */ | ||||
| typedef struct tGPDinterpolate_layer { | typedef struct tGPDinterpolate_layer { | ||||
| Context not available. | |||||
| struct ScrArea *sa; /* area where painting originated */ | struct ScrArea *sa; /* area where painting originated */ | ||||
| struct ARegion *ar; /* region where painting originated */ | struct ARegion *ar; /* region where painting originated */ | ||||
| struct bGPdata *gpd; /* current GP datablock */ | struct bGPdata *gpd; /* current GP datablock */ | ||||
| struct Palette *palette; /* current palette */ | |||||
| int cframe; /* current frame number */ | int cframe; /* current frame number */ | ||||
| ListBase ilayers; /* (tGPDinterpolate_layer) layers to be interpolated */ | ListBase ilayers; /* (tGPDinterpolate_layer) layers to be interpolated */ | ||||
| Context not available. | |||||
| void *draw_handle_screen; /* handle for drawing strokes while operator is running screen stuff */ | void *draw_handle_screen; /* handle for drawing strokes while operator is running screen stuff */ | ||||
| } tGPDinterpolate; | } tGPDinterpolate; | ||||
| /* Temporary 'Stroke Point' data | /* Temporary primitive operation data */ | ||||
| typedef struct tGPDprimitive { | |||||
| struct Scene *scene; /* current scene from context */ | |||||
| struct Object *ob; /* current active gp object */ | |||||
| struct ScrArea *sa; /* area where painting originated */ | |||||
| struct RegionView3D *rv3d; /* region where painting originated */ | |||||
| struct View3D *v3d; /* view3 where painting originated */ | |||||
| struct ARegion *ar; /* region where painting originated */ | |||||
| struct bGPdata *gpd; /* current GP datablock */ | |||||
| struct Palette *palette; /* current palette */ | |||||
| struct PaletteColor *palcolor; /* current palette color */ | |||||
| struct bGPDbrush *brush; /* current brush */ | |||||
| int cframe; /* current frame number */ | |||||
| struct bGPDlayer *gpl; /* layer */ | |||||
| struct bGPDframe *gpf; /* frame */ | |||||
| int type; /* type of primitive */ | |||||
| int tot_edges; /* number of polygon edges */ | |||||
| int top[2]; /* first box corner */ | |||||
| int bottom[2]; /* last box corner */ | |||||
| int flag; /* flag to determine operations in progress */ | |||||
| short oldevent; /* save old event to avoid accidental mouse clicks */ | |||||
| int lock_axis; /* lock to viewport axis */ | |||||
| NumInput num; /* numeric input */ | |||||
| void *draw_handle_3d; /* handle for drawing strokes while operator is running 3d stuff */ | |||||
| } tGPDprimitive; | |||||
| /* Temporary 'Stroke Point' data | |||||
| * | * | ||||
| * Used as part of the 'stroke cache' used during drawing of new strokes | * Used as part of the 'stroke cache' used during drawing of new strokes | ||||
| */ | */ | ||||
| Context not available. | |||||
| float time; /* Time relative to stroke start (used when converting to path) */ | float time; /* Time relative to stroke start (used when converting to path) */ | ||||
| } tGPspoint; | } tGPspoint; | ||||
| /* used to sort by zdepth gpencil objects in viewport */ | |||||
| /* TODO: this could be a system parameter in userprefs screen */ | |||||
| #define GP_CACHE_BLOCK_SIZE 16 | |||||
| typedef struct tGPencilSort { | |||||
| struct Base *base; | |||||
| float zdepth; | |||||
| } tGPencilSort; | |||||
| /* Check if 'sketching sessions' are enabled */ | |||||
| #define GPENCIL_SKETCH_SESSIONS_ON(scene) ((scene)->toolsettings->gpencil_flags & GP_TOOL_FLAG_PAINTSESSIONS_ON) | |||||
| /* ----------- Grease Pencil Tools/Context ------------- */ | /* ----------- Grease Pencil Tools/Context ------------- */ | ||||
| Context not available. | |||||
| bool ED_gpencil_stroke_can_use(const struct bContext *C, const struct bGPDstroke *gps); | bool ED_gpencil_stroke_can_use(const struct bContext *C, const struct bGPDstroke *gps); | ||||
| bool ED_gpencil_stroke_color_use(const struct bGPDlayer *gpl, const struct bGPDstroke *gps); | bool ED_gpencil_stroke_color_use(const struct bGPDlayer *gpl, const struct bGPDstroke *gps); | ||||
| struct bGPDpalettecolor *ED_gpencil_stroke_getcolor(struct bGPdata *gpd, struct bGPDstroke *gps); | |||||
| bool ED_gpencil_stroke_minmax( | bool ED_gpencil_stroke_minmax( | ||||
| const struct bGPDstroke *gps, const bool use_select, | const struct bGPDstroke *gps, const bool use_select, | ||||
| float r_min[3], float r_max[3]); | float r_min[3], float r_max[3]); | ||||
| Context not available. | |||||
| struct View3D *v3d, | struct View3D *v3d, | ||||
| struct ARegion *ar, | struct ARegion *ar, | ||||
| bool only3d); | bool only3d); | ||||
| void ED_gpencil_draw_view3d_object(struct wmWindowManager *wm, | |||||
| struct Scene *scene, | |||||
| struct Object *ob, | |||||
| struct View3D *v3d, | |||||
| struct ARegion *ar, | |||||
| bool only3d); | |||||
| void ED_gpencil_draw_ex(struct Scene *scene, struct bGPdata *gpd, int winx, int winy, | void ED_gpencil_draw_ex(struct Scene *scene, struct bGPdata *gpd, int winx, int winy, | ||||
| const int cfra, const char spacetype); | const int cfra, const char spacetype); | ||||
| void ED_gp_draw_interpolation(struct tGPDinterpolate *tgpi, const int type); | void ED_gp_draw_interpolation(const struct bContext *C, struct tGPDinterpolate *tgpi, const int type); | ||||
| void ED_gp_draw_primitives(const struct bContext *C, struct tGPDprimitive *tgpi, const int type); | |||||
| /* ----------- Grease-Pencil AnimEdit API ------------------ */ | /* ----------- Grease-Pencil AnimEdit API ------------------ */ | ||||
| bool ED_gplayer_frames_looper(struct bGPDlayer *gpl, struct Scene *scene, | bool ED_gplayer_frames_looper(struct bGPDlayer *gpl, struct Scene *scene, | ||||
| Context not available. | |||||
| /* ------------ Transformation Utilities ------------ */ | /* ------------ Transformation Utilities ------------ */ | ||||
| /* get difference matrix using parent */ | /* get difference matrix */ | ||||
| void ED_gpencil_parent_location(struct bGPDlayer *gpl, float diff_mat[4][4]); | void ED_gpencil_parent_location(struct Object *obact, struct bGPdata *gpd, struct bGPDlayer *gpl, float diff_mat[4][4]); | ||||
| /* reset parent matrix for all layers */ | /* reset parent matrix for all layers */ | ||||
| void ED_gpencil_reset_layers_parent(struct bGPdata *gpd); | void ED_gpencil_reset_layers_parent(struct Object *obact, struct bGPdata *gpd); | ||||
| /* ----------- Add Primitive Utilities -------------- */ | |||||
| void ED_gpencil_create_monkey(struct bContext *C, struct bGPdata *gpd); | |||||
| /* ------------ Object Utilities ------------ */ | |||||
| struct Object *ED_add_gpencil_object(struct bContext *C, struct Scene *scene, const float loc[3]); | |||||
| void ED_gpencil_add_defaults(struct bContext *C); | |||||
| struct tGPencilSort *ED_gpencil_allocate_cache(struct tGPencilSort *cache, int *gp_cache_size, int gp_cache_used); | |||||
| void ED_gpencil_add_to_cache(struct tGPencilSort *cache, struct RegionView3D *rv3d, struct Base *base, int *gp_cache_used); | |||||
| void ED_gp_project_stroke_to_plane(struct Object *ob, struct RegionView3D *rv3d, struct bGPDstroke *gps, const float origin[3], const int axis, char type); | |||||
| void ED_gp_project_point_to_plane(struct Object *ob, struct RegionView3D *rv3d, const float origin[3], const int axis, char type, struct bGPDspoint *pt); | |||||
| void ED_gp_get_drawing_reference(struct View3D *v3d, struct Scene *scene, struct Object *ob, struct bGPDlayer *gpl, char align_flag, float vec[3]); | |||||
| /* set sculpt cursor */ | |||||
| void ED_gpencil_toggle_brush_cursor(struct bContext *C, bool enable); | |||||
| /* vertex groups */ | |||||
| void ED_gpencil_vgroup_assign(struct bContext *C, struct Object *ob, float weight); | |||||
| void ED_gpencil_vgroup_remove(struct bContext *C, struct Object *ob); | |||||
| void ED_gpencil_vgroup_select(struct bContext *C, struct Object *ob); | |||||
| void ED_gpencil_vgroup_deselect(struct bContext *C, struct Object *ob); | |||||
| #endif /* __ED_GPENCIL_H__ */ | #endif /* __ED_GPENCIL_H__ */ | ||||
| Context not available. | |||||