From 9aec7aaf6c560ddc0c2dd1c553c809f9b1e706d5 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 14 Jan 2009 16:13:50 +0000 Subject: 2.5 GPencil code back! Joshua will probably take this further. I've added XXX notes where fixes are required. Also note that ED_gpencil.h has all old exports, which is probably not needed, most can go to gpencil_intern.h Also added Makefile fixes for sculpt --- source/blender/editors/include/ED_armature.h | 3 + source/blender/editors/include/ED_gpencil.h | 101 ++++++++++++++++++++++++++ source/blender/editors/include/ED_sequencer.h | 31 ++++++++ source/blender/editors/include/ED_view3d.h | 2 + 4 files changed, 137 insertions(+) create mode 100644 source/blender/editors/include/ED_gpencil.h create mode 100644 source/blender/editors/include/ED_sequencer.h (limited to 'source/blender/editors/include') diff --git a/source/blender/editors/include/ED_armature.h b/source/blender/editors/include/ED_armature.h index 33e8c87e6ca..c731c9ed740 100644 --- a/source/blender/editors/include/ED_armature.h +++ b/source/blender/editors/include/ED_armature.h @@ -99,6 +99,9 @@ void clear_armature(struct Scene *scene, struct Object *ob, char mode); void create_vgroups_from_armature(struct Scene *scene, struct Object *ob, struct Object *par); void docenter_armature (struct Scene *scene, struct View3D *v3d, struct Object *ob, int centermode); +void auto_align_armature(struct Scene *scene, struct View3D *v3d, short mode); +void unique_editbone_name (ListBase *edbo, char *name); + /* poseobject.c */ void ED_armature_exit_posemode(struct Base *base); void ED_armature_enter_posemode(struct Base *base); diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h new file mode 100644 index 00000000000..f3f054c2b6f --- /dev/null +++ b/source/blender/editors/include/ED_gpencil.h @@ -0,0 +1,101 @@ +/** + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2008, Blender Foundation + * This is a new part of Blender + * + * Contributor(s): Joshua Leung + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef ED_GPENCIL_H +#define ED_GPENCIL_H + +struct ListBase; +struct bScreen; +struct ScrArea; +struct ARegion; +struct View3D; +struct SpaceNode; +struct SpaceSeq; +struct bGPdata; +struct bGPDlayer; +struct bGPDframe; +struct bGPdata; +struct uiBlock; +struct ImBuf; + + + +/* ------------- Grease-Pencil Helpers -------------- */ + +/* Temporary 'Stroke Point' data */ +typedef struct tGPspoint { + short x, y; /* x and y coordinates of cursor (in relative to area) */ + float pressure; /* pressure of tablet at this point */ +} tGPspoint; + +/* ------------ Grease-Pencil API ------------------ */ + +void free_gpencil_strokes(struct bGPDframe *gpf); +void free_gpencil_frames(struct bGPDlayer *gpl); +void free_gpencil_layers(struct ListBase *list); +void free_gpencil_data(struct bGPdata *gpd); + +struct bGPDframe *gpencil_frame_addnew(struct bGPDlayer *gpl, int cframe); +struct bGPDlayer *gpencil_layer_addnew(struct bGPdata *gpd); +struct bGPdata *gpencil_data_addnew(void); + +struct bGPDframe *gpencil_frame_duplicate(struct bGPDframe *src); +struct bGPDlayer *gpencil_layer_duplicate(struct bGPDlayer *src); +struct bGPdata *gpencil_data_duplicate(struct bGPdata *gpd); + +struct bGPdata *gpencil_data_getactive(struct ScrArea *sa); +short gpencil_data_setactive(struct ScrArea *sa, struct bGPdata *gpd); +struct ScrArea *gpencil_data_findowner(struct bGPdata *gpd); + +void gpencil_frame_delete_laststroke(struct bGPDframe *gpf); + +struct bGPDframe *gpencil_layer_getframe(struct bGPDlayer *gpl, int cframe, short addnew); +void gpencil_layer_delframe(struct bGPDlayer *gpl, struct bGPDframe *gpf); +struct bGPDlayer *gpencil_layer_getactive(struct bGPdata *gpd); +void gpencil_layer_setactive(struct bGPdata *gpd, struct bGPDlayer *active); +void gpencil_layer_delactive(struct bGPdata *gpd); + +void gpencil_delete_actframe(struct bGPdata *gpd, int cfra); +void gpencil_delete_laststroke(struct bGPdata *gpd, int cfra); + +void gpencil_delete_operation(int cfra, short mode); +void gpencil_delete_menu(void); + +void gpencil_convert_operation(short mode); +void gpencil_convert_menu(void); + +short gpencil_do_paint(struct bContext *C); + +/* drawgpencil.c */ + +void draw_gpencil_2dimage(struct bContext *C, struct ImBuf *ibuf); +void draw_gpencil_2dview(struct bContext *C, short onlyv2d); +void draw_gpencil_3dview(struct bContext *C, short only3d); +void draw_gpencil_oglrender(struct bContext *C); + + +#endif /* ED_GPENCIL_H */ diff --git a/source/blender/editors/include/ED_sequencer.h b/source/blender/editors/include/ED_sequencer.h new file mode 100644 index 00000000000..2a3b5445dfe --- /dev/null +++ b/source/blender/editors/include/ED_sequencer.h @@ -0,0 +1,31 @@ +/** + * $Id: + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2009, Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef ED_SEQUENCER_H +#define ED_SEQUENCER_H + +#define SEQ_ZOOM_FAC(szoom) (szoom > 0)? (szoom) : (szoom == 0)? (1.0) : (-1.0/szoom) + + +#endif /* ED_SEQUENCER_H */ diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h index f9ea8053b72..00fb017d752 100644 --- a/source/blender/editors/include/ED_view3d.h +++ b/source/blender/editors/include/ED_view3d.h @@ -94,6 +94,8 @@ unsigned int view3d_sample_backbuf(struct ViewContext *vc, int x, int y); #define MAXPICKBUF 10000 short view3d_opengl_select(struct ViewContext *vc, unsigned int *buffer, unsigned int bufsize, rcti *input); void view3d_set_viewcontext(struct bContext *C, struct ViewContext *vc); +/* XXX should move to arithb.c */ +int edge_inside_circle(short centx, short centy, short rad, short x1, short y1, short x2, short y2); /* modes */ void ED_view3d_exit_paint_modes(struct bContext *C); -- cgit v1.2.3