|
Blender
V2.59
|
00001 /* 00002 * $Id: gpencil_intern.h 35242 2011-02-27 20:29:51Z jesterking $ 00003 * 00004 * ***** BEGIN GPL LICENSE BLOCK ***** 00005 * 00006 * This program is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU General Public License 00008 * as published by the Free Software Foundation; either version 2 00009 * of the License, or (at your option) any later version. 00010 * 00011 * This program is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 * GNU General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU General Public License 00017 * along with this program; if not, write to the Free Software Foundation, 00018 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00019 * 00020 * The Original Code is Copyright (C) 2009 Blender Foundation. 00021 * All rights reserved. 00022 * 00023 * 00024 * Contributor(s): Blender Foundation 00025 * 00026 * ***** END GPL LICENSE BLOCK ***** 00027 */ 00028 00033 #ifndef ED_GPENCIL_INTERN_H 00034 #define ED_GPENCIL_INTERN_H 00035 00036 /* internal exports only */ 00037 00038 00039 /* ***************************************************** */ 00040 /* Operator Defines */ 00041 00042 struct wmOperatorType; 00043 00044 /* drawing ---------- */ 00045 00046 void GPENCIL_OT_draw(struct wmOperatorType *ot); 00047 00048 /* Paint Modes for operator*/ 00049 typedef enum eGPencil_PaintModes { 00050 GP_PAINTMODE_DRAW = 0, 00051 GP_PAINTMODE_ERASER, 00052 GP_PAINTMODE_DRAW_STRAIGHT, 00053 } eGPencil_PaintModes; 00054 00055 /* buttons editing --- */ 00056 00057 void GPENCIL_OT_data_add(struct wmOperatorType *ot); 00058 void GPENCIL_OT_data_unlink(struct wmOperatorType *ot); 00059 00060 void GPENCIL_OT_layer_add(struct wmOperatorType *ot); 00061 00062 void GPENCIL_OT_active_frame_delete(struct wmOperatorType *ot); 00063 00064 void GPENCIL_OT_convert(struct wmOperatorType *ot); 00065 00066 00067 /******************************************************* */ 00068 /* FILTERED ACTION DATA - TYPES ---> XXX DEPRECEATED OLD ANIM SYSTEM CODE! */ 00069 00070 /* XXX - TODO: replace this with the modern bAnimListElem... */ 00071 /* This struct defines a structure used for quick access */ 00072 typedef struct bActListElem { 00073 struct bActListElem *next, *prev; 00074 00075 void *data; /* source data this elem represents */ 00076 int type; /* one of the ACTTYPE_* values */ 00077 int flag; /* copy of elem's flags for quick access */ 00078 int index; /* copy of adrcode where applicable */ 00079 00080 void *key_data; /* motion data - ipo or ipo-curve */ 00081 short datatype; /* type of motion data to expect */ 00082 00083 struct bActionGroup *grp; /* action group that owns the channel */ 00084 00085 void *owner; /* will either be an action channel or fake ipo-channel (for keys) */ 00086 short ownertype; /* type of owner */ 00087 } bActListElem; 00088 00089 /******************************************************* */ 00090 /* FILTER ACTION DATA - METHODS/TYPES */ 00091 00092 /* filtering flags - under what circumstances should a channel be added */ 00093 typedef enum ACTFILTER_FLAGS { 00094 ACTFILTER_VISIBLE = (1<<0), /* should channels be visible */ 00095 ACTFILTER_SEL = (1<<1), /* should channels be selected */ 00096 ACTFILTER_FOREDIT = (1<<2), /* does editable status matter */ 00097 ACTFILTER_CHANNELS = (1<<3), /* do we only care that it is a channel */ 00098 ACTFILTER_IPOKEYS = (1<<4), /* only channels referencing ipo's */ 00099 ACTFILTER_ONLYICU = (1<<5), /* only reference ipo-curves */ 00100 ACTFILTER_FORDRAWING = (1<<6), /* make list for interface drawing */ 00101 ACTFILTER_ACTGROUPED = (1<<7) /* belongs to the active group */ 00102 } ACTFILTER_FLAGS; 00103 00104 /* Action Editor - Main Data types */ 00105 typedef enum ACTCONT_TYPES { 00106 ACTCONT_NONE = 0, 00107 ACTCONT_ACTION, 00108 ACTCONT_SHAPEKEY, 00109 ACTCONT_GPENCIL 00110 } ACTCONT_TYPES; 00111 00112 00113 00114 00115 #endif /* ED_GPENCIL_INTERN_H */ 00116