diff options
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r-- | source/blender/editors/include/BIF_interface_icons.h | 72 | ||||
-rw-r--r-- | source/blender/editors/include/BIF_resources.h | 600 | ||||
-rw-r--r-- | source/blender/editors/include/BIF_view2d.h | 68 | ||||
-rw-r--r-- | source/blender/editors/include/ED_datafiles.h | 50 | ||||
-rw-r--r-- | source/blender/editors/include/ED_interface.h | 33 | ||||
-rw-r--r-- | source/blender/editors/include/UI_interface.h | 350 | ||||
-rw-r--r-- | source/blender/editors/include/UI_resources.h | 595 | ||||
-rw-r--r-- | source/blender/editors/include/UI_text.h | 67 | ||||
-rw-r--r-- | source/blender/editors/include/UI_view2d.h | 69 |
9 files changed, 1131 insertions, 773 deletions
diff --git a/source/blender/editors/include/BIF_interface_icons.h b/source/blender/editors/include/BIF_interface_icons.h index 63ce89eef62..e69de29bb2d 100644 --- a/source/blender/editors/include/BIF_interface_icons.h +++ b/source/blender/editors/include/BIF_interface_icons.h @@ -1,72 +0,0 @@ -/** - * $Id: BIF_interface_icons.h 11920 2007-09-02 17:25:03Z elubie $ - * - * ***** BEGIN GPL/BL DUAL 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. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * 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) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - */ - -#ifndef BIF_PREVIEW_ICONS_H -#define BIF_PREVIEW_ICONS_H - -struct Image; -struct ImBuf; -struct World; -struct Tex; -struct Lamp; -struct Material; - -typedef struct IconFile { - struct IconFile *next, *prev; - char filename[80]; // FILE_MAXFILE size - int index; -} IconFile; - - -#define ICON_DEFAULT_HEIGHT 16 -#define PREVIEW_DEFAULT_HEIGHT 96 - -/* - Resizable Icons for Blender -*/ -void BIF_icons_init(int first_dyn_id); -int BIF_icon_get_width(int icon_id); -int BIF_icon_get_height(int icon_id); - -void BIF_icon_draw(float x, float y, int icon_id); -void BIF_icon_draw_preview(float x, float y, int icon_id, int nocreate); - -void BIF_icon_draw_aspect(float x, float y, int icon_id, float aspect); -void BIF_icon_draw_aspect_blended(float x, float y, int icon_id, float aspect, int shade); -void BIF_icons_free(); -void BIF_icons_free_drawinfo(void *drawinfo); - -struct ListBase *BIF_iconfile_list(void); -int BIF_iconfile_get_index(char *filename); - - -#endif /* BIF_ICONS_H */ diff --git a/source/blender/editors/include/BIF_resources.h b/source/blender/editors/include/BIF_resources.h index 38540f1ba39..e69de29bb2d 100644 --- a/source/blender/editors/include/BIF_resources.h +++ b/source/blender/editors/include/BIF_resources.h @@ -1,600 +0,0 @@ -/** - * $Id: BIF_resources.h 13057 2007-12-30 12:08:28Z aligorith $ - * - * ***** BEGIN GPL/BL DUAL 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. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * 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) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - */ - -#ifndef BIF_RESOURCES_H -#define BIF_RESOURCES_H - -/* elubie: TODO: move the typedef for icons to BIF_interface_icons.h */ -/* and add/replace include of BIF_resources.h by BIF_interface_icons.h */ -typedef enum { -#define BIFICONID_FIRST (ICON_VIEW3D) - ICON_VIEW3D, - ICON_IPO, - ICON_OOPS, - ICON_BUTS, - ICON_FILESEL, - ICON_IMAGE_COL, - ICON_INFO, - ICON_SEQUENCE, - ICON_TEXT, - ICON_IMASEL, - ICON_SOUND, - ICON_ACTION, - ICON_NLA, - ICON_SCRIPTWIN, - ICON_TIME, - ICON_NODE, - ICON_SPACE2, - ICON_SPACE3, - ICON_SPACE4, - ICON_TRIA_LEFT, - ICON_TRIA_UP, - ICON_FONTPREVIEW, - ICON_BLANK4, - ICON_BLANK5, - ICON_BLANK6, - - ICON_ORTHO, - ICON_PERSP, - ICON_CAMERA, - ICON_PARTICLES, - ICON_BBOX, - ICON_WIRE, - ICON_SOLID, - ICON_SMOOTH, - ICON_POTATO, - ICON_MARKER_HLT, - ICON_PMARKER_ACT, - ICON_PMARKER_SEL, - ICON_PMARKER, - ICON_VIEWZOOM, - ICON_SORTALPHA, - ICON_SORTTIME, - ICON_SORTSIZE, - ICON_LONGDISPLAY, - ICON_SHORTDISPLAY, - ICON_TRIA_DOWN, - ICON_TRIA_RIGHT, - ICON_BLANK7, - ICON_BLANK8, - ICON_BLANK9, - ICON_BLANK10, - - ICON_VIEW_AXIS_ALL, - ICON_VIEW_AXIS_NONE, - ICON_VIEW_AXIS_NONE2, - ICON_VIEW_AXIS_TOP, - ICON_VIEW_AXIS_FRONT, - ICON_VIEW_AXIS_SIDE, - ICON_POSE_DEHLT, - ICON_POSE_HLT, - ICON_BORDERMOVE, - ICON_MAYBE_ITS_A_LASSO, - ICON_BLANK1, /* ATTENTION, someone decided to use this throughout blender - and didn't care to neither rename it nor update the PNG */ - ICON_VERSE, - ICON_MOD_BOOLEAN, - ICON_ARMATURE, - ICON_PAUSE, - ICON_ALIGN, - ICON_REC, - ICON_PLAY, - ICON_FF, - ICON_REW, - ICON_PYTHON, - ICON_BLANK11, - ICON_BLANK12, - ICON_BLANK13, - ICON_BLANK14, - - - ICON_DOTSUP, - ICON_DOTSDOWN, - ICON_MENU_PANEL, - ICON_AXIS_SIDE, - ICON_AXIS_FRONT, - ICON_AXIS_TOP, - ICON_STICKY_UVS_LOC, - ICON_STICKY_UVS_DISABLE, - ICON_STICKY_UVS_VERT, - ICON_PREV_KEYFRAME, - ICON_NEXT_KEYFRAME, - ICON_ENVMAP, - ICON_TRANSP_HLT, - ICON_TRANSP_DEHLT, - ICON_CIRCLE_DEHLT, - ICON_CIRCLE_HLT, - ICON_TPAINT_DEHLT, - ICON_TPAINT_HLT, - ICON_WPAINT_DEHLT, - ICON_WPAINT_HLT, - ICON_MARKER, - ICON_BLANK15, - ICON_BLANK16, - ICON_BLANK17, - ICON_BLANK18, - - ICON_X, - ICON_GO_LEFT, - ICON_NO_GO_LEFT, - ICON_UNLOCKED, - ICON_LOCKED, - ICON_PARLIB, - ICON_DATALIB, - ICON_AUTO, - ICON_MATERIAL_DEHLT2, - ICON_RING, - ICON_GRID, - ICON_PROPEDIT, - ICON_KEEPRECT, - ICON_DESEL_CUBE_VERTS, - ICON_EDITMODE_DEHLT, - ICON_EDITMODE_HLT, - ICON_VPAINT_DEHLT, - ICON_VPAINT_HLT, - ICON_FACESEL_DEHLT, - ICON_FACESEL_HLT, - ICON_EDIT_DEHLT, - ICON_BOOKMARKS, - ICON_BLANK20, - ICON_BLANK21, - ICON_BLANK22, - - ICON_HELP, - ICON_ERROR, - ICON_FOLDER_DEHLT, - ICON_FOLDER_HLT, - ICON_BLUEIMAGE_DEHLT, - ICON_BLUEIMAGE_HLT, - ICON_BPIBFOLDER_DEHLT, - ICON_BPIBFOLDER_HLT, - ICON_BPIBFOLDER_ERR, - ICON_UGLY_GREEN_RING, - ICON_GHOST, - ICON_SORTBYEXT, - ICON_SCULPTMODE_HLT, - ICON_VERTEXSEL, - ICON_EDGESEL, - ICON_FACESEL, - ICON_PLUS, - ICON_BPIBFOLDER_X, - ICON_BPIBFOLDERGREY, - ICON_MAGNIFY, - ICON_INFO2, - ICON_BLANK23, - ICON_BLANK24, - ICON_BLANK25, - ICON_BLANK26, - - ICON_RIGHTARROW, - ICON_DOWNARROW_HLT, - ICON_ROUNDBEVELTHING, - ICON_FULLTEXTURE, - ICON_HOOK, - ICON_DOT, - ICON_WORLD_DEHLT, - ICON_CHECKBOX_DEHLT, - ICON_CHECKBOX_HLT, - ICON_LINK, - ICON_INLINK, - ICON_ZOOMIN, - ICON_ZOOMOUT, - ICON_PASTEDOWN, - ICON_COPYDOWN, - ICON_CONSTANT, - ICON_LINEAR, - ICON_CYCLIC, - ICON_KEY_DEHLT, - ICON_KEY_HLT, - ICON_GRID2, - ICON_BLANK27, - ICON_BLANK28, - ICON_BLANK29, - ICON_BLANK30, - - ICON_EYE, - ICON_LAMP, - ICON_MATERIAL, - ICON_TEXTURE, - ICON_ANIM, - ICON_WORLD, - ICON_SCENE, - ICON_EDIT, - ICON_GAME, - ICON_PAINT, - ICON_RADIO, - ICON_SCRIPT, - ICON_SPEAKER, - ICON_PASTEUP, - ICON_COPYUP, - ICON_PASTEFLIPUP, - ICON_PASTEFLIPDOWN, - ICON_CYCLICLINEAR, - ICON_PIN_DEHLT, - ICON_PIN_HLT, - ICON_LITTLEGRID, - ICON_BLANK31, - ICON_BLANK32, - ICON_BLANK33, - ICON_BLANK34, - - ICON_FULLSCREEN, - ICON_SPLITSCREEN, - ICON_RIGHTARROW_THIN, - ICON_DISCLOSURE_TRI_RIGHT, - ICON_DISCLOSURE_TRI_DOWN, - ICON_SCENE_SEPIA, - ICON_SCENE_DEHLT, - ICON_OBJECT, - ICON_MESH, - ICON_CURVE, - ICON_MBALL, - ICON_LATTICE, - ICON_LAMP_DEHLT, - ICON_MATERIAL_DEHLT, - ICON_TEXTURE_DEHLT, - ICON_IPO_DEHLT, - ICON_LIBRARY_DEHLT, - ICON_IMAGE_DEHLT, - ICON_EYEDROPPER, - ICON_WINDOW_WINDOW, - ICON_PANEL_CLOSE, - ICON_PHYSICS, - ICON_BLANK36, - ICON_BLANK37, - ICON_BLANK38, - - ICON_BLENDER, - ICON_PACKAGE, - ICON_UGLYPACKAGE, - ICON_MATPLANE, - ICON_MATSPHERE, - ICON_MATCUBE, - ICON_SCENE_HLT, - ICON_OBJECT_HLT, - ICON_MESH_HLT, - ICON_CURVE_HLT, - ICON_MBALL_HLT, - ICON_LATTICE_HLT, - ICON_LAMP_HLT, - ICON_MATERIAL_HLT, - ICON_TEXTURE_HLT, - ICON_IPO_HLT, - ICON_LIBRARY_HLT, - ICON_IMAGE_HLT, - ICON_CONSTRAINT, - ICON_CAMERA_DEHLT, - ICON_ARMATURE_DEHLT, - ICON_SNAP_GEAR, - ICON_SNAP_GEO, - ICON_BLANK41, - ICON_BLANK42, - - ICON_SMOOTHCURVE, - ICON_SPHERECURVE, - ICON_ROOTCURVE, - ICON_SHARPCURVE, - ICON_LINCURVE, - ICON_NOCURVE, - ICON_RNDCURVE, - ICON_PROP_OFF, - ICON_PROP_ON, - ICON_PROP_CON, - ICON_SYNTAX, - ICON_SYNTAX_OFF, - ICON_MONKEY, - ICON_HAIR, - ICON_VIEWMOVE, - ICON_HOME, - ICON_CLIPUV_DEHLT, - ICON_CLIPUV_HLT, - ICON_BLANK2, - ICON_BLANK3, - ICON_VPAINT_COL, - ICON_RESTRICT_SELECT_OFF, - ICON_RESTRICT_SELECT_ON, - ICON_MUTE_IPO_OFF, - ICON_MUTE_IPO_ON, - - ICON_MAN_TRANS, - ICON_MAN_ROT, - ICON_MAN_SCALE, - ICON_MANIPUL, - ICON_BLANK_47, - ICON_MODIFIER, - ICON_MOD_WAVE, - ICON_MOD_BUILD, - ICON_MOD_DECIM, - ICON_MOD_MIRROR, - ICON_MOD_SOFT, - ICON_MOD_SUBSURF, - ICON_SEQ_SEQUENCER, - ICON_SEQ_PREVIEW, - ICON_SEQ_LUMA_WAVEFORM, - ICON_SEQ_CHROMA_SCOPE, - ICON_ROTATE, - ICON_CURSOR, - ICON_ROTATECOLLECTION, - ICON_ROTATECENTER, - ICON_ROTACTIVE, - ICON_RESTRICT_VIEW_OFF, - ICON_RESTRICT_VIEW_ON, - ICON_RESTRICT_RENDER_OFF, - ICON_RESTRICT_RENDER_ON, - - VICON_VIEW3D, - VICON_EDIT, - VICON_EDITMODE_DEHLT, - VICON_EDITMODE_HLT, - VICON_DISCLOSURE_TRI_RIGHT, - VICON_DISCLOSURE_TRI_DOWN, - VICON_MOVE_UP, - VICON_MOVE_DOWN, - VICON_X - -#define BIFICONID_LAST (VICON_X) -#define BIFNICONIDS (BIFICONID_LAST-BIFICONID_FIRST + 1) -} BIFIconID; - -typedef enum { -#define BIFCOLORSHADE_FIRST (COLORSHADE_DARK) - COLORSHADE_DARK, - COLORSHADE_GREY, - COLORSHADE_MEDIUM, - COLORSHADE_HILITE, - COLORSHADE_LIGHT, - COLORSHADE_WHITE -#define BIFCOLORSHADE_LAST (COLORSHADE_WHITE) -#define BIFNCOLORSHADES (BIFCOLORSHADE_LAST-BIFCOLORSHADE_FIRST + 1) -} BIFColorShade; - -typedef enum { -#define BIFCOLORID_FIRST (BUTGREY) - BUTGREY = 0, - BUTGREEN, - BUTBLUE, - BUTSALMON, - MIDGREY, - BUTPURPLE, - BUTYELLOW, - REDALERT, - BUTRUST, - BUTWHITE, - BUTDBLUE, - BUTPINK, - BUTDPINK, - BUTMACTIVE, - - BUTIPO, - BUTAUDIO, - BUTCAMERA, - BUTRANDOM, - BUTEDITOBJECT, - BUTPROPERTY, - BUTSCENE, - BUTMOTION, - BUTMESSAGE, - BUTACTION, - BUTCD, - BUTGAME, - BUTVISIBILITY, - BUTYUCK, - BUTSEASICK, - BUTCHOKE, - BUTIMPERIAL, - - BUTTEXTCOLOR, - BUTTEXTPRESSED, - BUTSBACKGROUND, - - VIEWPORTBACKCOLOR, - VIEWPORTGRIDCOLOR, - VIEWPORTACTIVECOLOR, - VIEWPORTSELECTEDCOLOR, - VIEWPORTUNSELCOLOR, - - EDITVERTSEL, - EDITVERTUNSEL, - EDITEDGESEL, - EDITEDGEUNSEL - -#define BIFCOLORID_LAST (EDITEDGEUNSEL) -#define BIFNCOLORIDS (BIFCOLORID_LAST-BIFCOLORID_FIRST + 1) - -} BIFColorID; - -/* XXX WARNING: this is saved in file, so do not change order! */ -enum { - TH_AUTO, /* for buttons, to signal automatic color assignment */ - -// uibutton colors - TH_BUT_OUTLINE, - TH_BUT_NEUTRAL, - TH_BUT_ACTION, - TH_BUT_SETTING, - TH_BUT_SETTING1, - TH_BUT_SETTING2, - TH_BUT_NUM, - TH_BUT_TEXTFIELD, - TH_BUT_POPUP, - TH_BUT_TEXT, - TH_BUT_TEXT_HI, - TH_MENU_BACK, - TH_MENU_ITEM, - TH_MENU_HILITE, - TH_MENU_TEXT, - TH_MENU_TEXT_HI, - - TH_BUT_DRAWTYPE, - - TH_REDALERT, - TH_CUSTOM, - - TH_BUT_TEXTFIELD_HI, - TH_ICONFILE, - - TH_THEMEUI, -// common colors among spaces - - TH_BACK, - TH_TEXT, - TH_TEXT_HI, - TH_HEADER, - TH_HEADERDESEL, - TH_PANEL, - TH_SHADE1, - TH_SHADE2, - TH_HILITE, - - TH_GRID, - TH_WIRE, - TH_SELECT, - TH_ACTIVE, - TH_GROUP, - TH_GROUP_ACTIVE, - TH_TRANSFORM, - TH_VERTEX, - TH_VERTEX_SELECT, - TH_VERTEX_SIZE, - TH_EDGE, - TH_EDGE_SELECT, - TH_EDGE_SEAM, - TH_EDGE_FACESEL, - TH_FACE, - TH_FACE_SELECT, - TH_NORMAL, - TH_FACE_DOT, - TH_FACEDOT_SIZE, - TH_CFRAME, - - TH_SYNTAX_B, - TH_SYNTAX_V, - TH_SYNTAX_C, - TH_SYNTAX_L, - TH_SYNTAX_N, - - TH_BONE_SOLID, - TH_BONE_POSE, - - TH_STRIP, - TH_STRIP_SELECT, - - TH_LAMP, - - TH_NODE, - TH_NODE_IN_OUT, - TH_NODE_OPERATOR, - TH_NODE_CONVERTOR, - TH_NODE_GROUP, - - TH_SEQ_MOVIE, - TH_SEQ_IMAGE, - TH_SEQ_SCENE, - TH_SEQ_AUDIO, - TH_SEQ_EFFECT, - TH_SEQ_PLUGIN, - TH_SEQ_TRANSITION, - TH_SEQ_META, - - TH_EDGE_SHARP, - TH_EDITMESH_ACTIVE, -}; -/* XXX WARNING: previous is saved in file, so do not change order! */ - -/* theme drawtypes */ -#define TH_MINIMAL 0 -#define TH_SHADED 1 -#define TH_ROUNDED 2 -#define TH_OLDSKOOL 3 - -/* specific defines per space should have higher define values */ - -struct bTheme; - -// THE CODERS API FOR THEMES: - -// sets the color -void BIF_ThemeColor(int colorid); - -// sets the color plus alpha -void BIF_ThemeColor4(int colorid); - -// sets color plus offset for shade -void BIF_ThemeColorShade(int colorid, int offset); - -// sets color plus offset for alpha -void BIF_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset); - -// sets color, which is blend between two theme colors -void BIF_ThemeColorBlend(int colorid1, int colorid2, float fac); -// same, with shade offset -void BIF_ThemeColorBlendShade(int colorid1, int colorid2, float fac, int offset); - -// returns one value, not scaled -float BIF_GetThemeValuef(int colorid); -int BIF_GetThemeValue(int colorid); - -// get three color values, scaled to 0.0-1.0 range -void BIF_GetThemeColor3fv(int colorid, float *col); - -// get the 3 or 4 byte values -void BIF_GetThemeColor3ubv(int colorid, char *col); -void BIF_GetThemeColor4ubv(int colorid, char *col); - -// get a theme color from specified space type -void BIF_GetThemeColorType4ubv(int colorid, int spacetype, char *col); - -// blends and shades between two color pointers -void BIF_ColorPtrBlendShade3ubv(char *cp1, char *cp2, float fac, int offset); - -// get a 3 byte color, blended and shaded between two other char color pointers -void BIF_GetColorPtrBlendShade3ubv(char *cp1, char *cp2, char *col, float fac, int offset); - - -struct ScrArea; - -// internal (blender) usage only, for init and set active -void BIF_InitTheme(void); -void BIF_SetTheme(struct ScrArea *sa); -void BIF_resources_init (void); -void BIF_resources_free (void); -void BIF_colors_init (void); -void BIF_load_ui_colors (void); - -/* only for buttons in theme editor! */ -char *BIF_ThemeGetColorPtr(struct bTheme *btheme, int spacetype, int colorid); -char *BIF_ThemeColorsPup(int spacetype); - - -void BIF_def_color (BIFColorID colorid, unsigned char r, unsigned char g, unsigned char b); - -#endif /* BIF_ICONS_H */ diff --git a/source/blender/editors/include/BIF_view2d.h b/source/blender/editors/include/BIF_view2d.h index ed86a1cf9c3..e69de29bb2d 100644 --- a/source/blender/editors/include/BIF_view2d.h +++ b/source/blender/editors/include/BIF_view2d.h @@ -1,68 +0,0 @@ -/** - * $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. - * All rights reserved. - * - * - * Contributor(s): Blender Foundation - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#ifndef BIF_VIEW2D_H -#define BIF_VIEW2D_H - -/* start of a generic 2d view with should allow drawing grids, - * panning, zooming, scrolling, .. */ - -#define V2D_UNIT_SECONDS 0 -#define V2D_UNIT_FRAMES 1 - -#define V2D_GRID_CLAMP 0 -#define V2D_GRID_NOCLAMP 1 - -#define V2D_IS_CLIPPED 12000 - -#define V2D_HORIZONTAL_LINES 1 -#define V2D_VERTICAL_LINES 2 -#define V2D_HORIZONTAL_AXIS 4 -#define V2D_VERTICAL_AXIS 8 - -struct View2D; -struct View2DGrid; -struct bContext; - -typedef struct View2DGrid View2DGrid; - -/* opengl drawing setup */ -void BIF_view2d_ortho(const struct bContext *C, struct View2D *v2d); - -/* grid drawing */ -View2DGrid *BIF_view2d_calc_grid(const struct bContext *C, struct View2D *v2d, int unit, int type, int winx, int winy); -void BIF_view2d_draw_grid(const struct bContext *C, struct View2D *v2d, View2DGrid *grid, int flag); -void BIF_view2d_free_grid(View2DGrid *grid); - -/* coordinate conversion */ -void BIF_view2d_region_to_view(struct View2D *v2d, short x, short y, float *viewx, float *viewy); -void BIF_view2d_view_to_region(struct View2D *v2d, float x, float y, short *regionx, short *regiony); -void BIF_view2d_to_region_no_clip(struct View2D *v2d, float x, float y, short *regionx, short *region_y); - -#endif /* BIF_VIEW2D_H */ - diff --git a/source/blender/editors/include/ED_datafiles.h b/source/blender/editors/include/ED_datafiles.h new file mode 100644 index 00000000000..ddf3f0c9468 --- /dev/null +++ b/source/blender/editors/include/ED_datafiles.h @@ -0,0 +1,50 @@ +/** + * $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. + * All rights reserved. + * + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef ED_DATAFILES_H +#define ED_DATAFILES_H + +/* Datafiles embedded in Blender */ + +extern int datatoc_B_blend_size; +extern char datatoc_B_blend[]; + +extern int datatoc_blenderbuttons_size; +extern char datatoc_blenderbuttons[]; + +extern int datatoc_splash_jpg_size; +extern char datatoc_splash_jpg[]; + +extern int datatoc_Bfont_size; +extern char datatoc_Bfont; + +extern int datatoc_bfont_ttf_size; +extern char datatoc_bfont_ttf[]; + +#endif /* ED_DATAFILES_H */ + diff --git a/source/blender/editors/include/ED_interface.h b/source/blender/editors/include/ED_interface.h index d0f3078ce62..e69de29bb2d 100644 --- a/source/blender/editors/include/ED_interface.h +++ b/source/blender/editors/include/ED_interface.h @@ -1,33 +0,0 @@ -/** - * $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. - * All rights reserved. - * - * - * Contributor(s): Blender Foundation - * - * ***** END GPL LICENSE BLOCK ***** - */ -#ifndef ED_INTERFACE_H -#define ED_INTERFACE_H - - -#endif /* ED_INTERFACE_H */ - diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h new file mode 100644 index 00000000000..a4f29e37e34 --- /dev/null +++ b/source/blender/editors/include/UI_interface.h @@ -0,0 +1,350 @@ +/** + * $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) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef UI_INTERFACE_H +#define UI_INTERFACE_H + +struct ID; +struct ListBase; +struct ARegion; +struct wmWindow; +struct wmWindowManager; +struct AutoComplete; +struct bContext; + +/* uiBlock->dt */ +#define UI_EMBOSS 0 /* use one of the themes for drawing */ +#define UI_EMBOSSN 1 /* Nothing */ +#define UI_EMBOSSM 2 /* Minimal builtin emboss, also for logic buttons */ +#define UI_EMBOSSP 3 /* Pulldown */ +#define UI_EMBOSSR 4 /* Rounded */ +#define UI_EMBOSST 5 /* Table */ + +#define UI_EMBOSSX 0 /* for a python file, which i can't change.... duh! */ + +/* uiBlock->direction */ +#define UI_TOP 1 +#define UI_DOWN 2 +#define UI_LEFT 4 +#define UI_RIGHT 8 +#define UI_DIRECTION 15 +#define UI_CENTER 16 +#define UI_SHIFT_FLIPPED 32 + +/* uiBlock->autofill */ +#define UI_BLOCK_COLLUMNS 1 +#define UI_BLOCK_ROWS 2 + +/* uiBlock->flag (controls) */ +#define UI_BLOCK_LOOP 1 +#define UI_BLOCK_REDRAW 2 +#define UI_BLOCK_RET_1 4 /* XXX 2.5 not implemented */ +#define UI_BLOCK_NUMSELECT 8 +#define UI_BLOCK_ENTER_OK 16 +#define UI_BLOCK_NOSHADOW 32 +#define UI_BLOCK_NO_HILITE 64 /* XXX 2.5 not implemented */ +#define UI_BLOCK_MOVEMOUSE_QUIT 128 +#define UI_BLOCK_KEEP_OPEN 256 + +/* uiMenuBlockHandle->blockretval */ +#define UI_RETURN_CANCEL 1 /* cancel all menus cascading */ +#define UI_RETURN_OK 2 /* choice made */ +#define UI_RETURN_OUT 4 /* left the menu */ + + /* block->flag bits 12-15 are identical to but->flag bits */ + +/* block->font, for now: bold = medium+1 */ +#define UI_HELV 0 +#define UI_HELVB 1 + +/* panel controls */ +#define UI_PNL_TRANSP 1 +#define UI_PNL_SOLID 2 + +#define UI_PNL_CLOSE 32 +#define UI_PNL_STOW 64 +#define UI_PNL_TO_MOUSE 128 +#define UI_PNL_UNSTOW 256 +#define UI_PNL_SCALE 512 + +/* warning the first 4 flags are internal */ +/* but->flag */ +#define UI_TEXT_LEFT 16 +#define UI_ICON_LEFT 32 +#define UI_ICON_RIGHT 64 + /* control for button type block */ +#define UI_MAKE_TOP 128 +#define UI_MAKE_DOWN 256 +#define UI_MAKE_LEFT 512 +#define UI_MAKE_RIGHT 1024 + /* dont draw hilite on mouse over */ +#define UI_NO_HILITE 2048 + /* button align flag, for drawing groups together */ +#define UI_BUT_ALIGN (15<<12) +#define UI_BUT_ALIGN_TOP (1<<12) +#define UI_BUT_ALIGN_LEFT (1<<13) +#define UI_BUT_ALIGN_RIGHT (1<<14) +#define UI_BUT_ALIGN_DOWN (1<<15) + + +/* Button types, bits stored in 1 value... and a short even! +- bits 0-4: bitnr (0-31) +- bits 5-7: pointer type +- bit 8: for 'bit' +- bit 9-15: button type (now 6 bits, 64 types) +*/ + +#define CHA 32 +#define SHO 64 +#define INT 96 +#define FLO 128 +#define FUN 192 +#define BIT 256 + +#define BUTPOIN (128+64+32) + +#define BUT (1<<9) +#define ROW (2<<9) +#define TOG (3<<9) +#define SLI (4<<9) +#define NUM (5<<9) +#define TEX (6<<9) +#define TOG3 (7<<9) +#define TOGR (8<<9) +#define TOGN (9<<9) +#define LABEL (10<<9) +#define MENU (11<<9) +#define ICONROW (12<<9) +#define ICONTOG (13<<9) +#define NUMSLI (14<<9) +#define COL (15<<9) +#define IDPOIN (16<<9) +#define HSVSLI (17<<9) +#define SCROLL (18<<9) +#define BLOCK (19<<9) +#define BUTM (20<<9) +#define SEPR (21<<9) +#define LINK (22<<9) +#define INLINK (23<<9) +#define KEYEVT (24<<9) +#define ICONTEXTROW (25<<9) +#define HSVCUBE (26<<9) +#define PULLDOWN (27<<9) +#define ROUNDBOX (28<<9) +#define CHARTAB (29<<9) +#define BUT_COLORBAND (30<<9) +#define BUT_NORMAL (31<<9) +#define BUT_CURVE (32<<9) +#define BUT_TOGDUAL (33<<9) +#define ICONTOGN (34<<9) +#define FTPREVIEW (35<<9) +#define NUMABS (36<<9) +#define BUTTYPE (63<<9) + +/* Menu Block Handle */ +typedef struct uiMenuBlockHandle { + struct ARegion *region; + int butretval; + int blockretval; + + float retvalue; + float retvec[3]; +} uiMenuBlockHandle; + +typedef struct uiBut uiBut; +typedef struct uiBlock uiBlock; + +void uiEmboss(float x1, float y1, float x2, float y2, int sel); +void uiRoundBoxEmboss(float minx, float miny, float maxx, float maxy, float rad, int active); +void uiRoundBox(float minx, float miny, float maxx, float maxy, float rad); +void uiSetRoundBox(int type); +void uiRoundRect(float minx, float miny, float maxx, float maxy, float rad); + +void uiDrawMenuBox(float minx, float miny, float maxx, float maxy, short flag); +void uiTextBoundsBlock(uiBlock *block, int addval); +void uiBoundsBlock(struct uiBlock *block, int addval); +void uiDrawBlock(struct uiBlock *block); +void uiGetMouse(int win, short *adr); +void uiComposeLinks(uiBlock *block); +void uiSetButLock(int val, char *lockstr); +uiBut *uiFindInlink(uiBlock *block, void *poin); +void uiClearButLock(void); +int uiDoBlocks(struct ListBase *lb, int event, int movemouse_quit); +void uiSetCurFont(uiBlock *block, int index); +void uiDefFont(unsigned int index, void *xl, void *large, void *medium, void *small); +void uiFreeBlock(uiBlock *block); +void uiFreeBlocks(struct ListBase *lb); +uiBlock *uiBeginBlock(struct wmWindow *window, struct ARegion *region, char *name, short dt, short font); +void uiEndBlock(uiBlock *block); +uiBlock *uiGetBlock(char *name, struct ARegion *ar); + +void uiBlockPickerButtons(struct uiBlock *block, float *col, float *hsv, float *old, char *hexcol, char mode, short retval); + + +/* automatic aligning, horiz or verical */ +void uiBlockBeginAlign(uiBlock *block); +void uiBlockEndAlign(uiBlock *block); + +uiBut *uiDefBut(uiBlock *block, + int type, int retval, char *str, + short x1, short y1, + short x2, short y2, + void *poin, + float min, float max, + float a1, float a2, char *tip); +uiBut *uiDefButF(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButBitF(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButI(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButBitI(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButS(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButC(uiBlock *block, int type, int retval, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip); + +uiBut *uiDefIconBut(uiBlock *block, + int type, int retval, int icon, + short x1, short y1, + short x2, short y2, + void *poin, + float min, float max, + float a1, float a2, char *tip); +uiBut *uiDefIconButF(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButBitF(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButI(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButBitI(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButS(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip); + +uiBut *uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, char *tip); + +uiBut *uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButBitF(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, float *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButI(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButBitI(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, int *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButS(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, short *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip); +uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, char *str, short x1, short y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, char *tip); + +typedef void (*uiIDPoinFuncFP) (char *str, struct ID **idpp); +uiBut *uiDefIDPoinBut(struct uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, char *str, + short x1, short y1, short x2, short y2, void *idpp, char *tip); + +typedef uiBlock* (*uiBlockFuncFP) (struct wmWindow *window, struct uiMenuBlockHandle *handle, void *arg1); +uiBut *uiDefBlockBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip); +uiBut *uiDefPulldownBut(uiBlock *block, uiBlockFuncFP func, void *func_arg1, char *str, short x1, short y1, short x2, short y2, char *tip); + +uiBut *uiDefIconTextBlockBut(uiBlock *block, uiBlockFuncFP func, void *arg, int icon, char *str, short x1, short y1, short x2, short y2, char *tip); +uiBut *uiDefIconBlockBut(uiBlock *block, uiBlockFuncFP func, void *arg, int retval, int icon, short x1, short y1, short x2, short y2, char *tip); + +void uiDefKeyevtButS(uiBlock *block, int retval, char *str, short x1, short y1, short x2, short y2, short *spoin, char *tip); + +struct PointerRNA; +struct PropertyRNA; +uiBut *uiDefRNABut(uiBlock *block, int retval, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, short x1, short y1, short x2, short y2); +void uiButSetFunc3(uiBut *but, void (*func)(void *arg1, void *arg2, void *arg3), void *arg1, void *arg2, void *arg3); + +void uiAutoBlock(struct uiBlock *block, + float minx, float miny, + float sizex, float sizey, int flag); +void uiSetButLink(struct uiBut *but, + void **poin, + void ***ppoin, + short *tot, + int from, int to); + +int uiBlocksGetYMin (ListBase *lb); +int uiBlockGetCol (uiBlock *block); +void* uiBlockGetCurFont (uiBlock *block); + +void uiBlockSetCol (uiBlock *block, int col); +void uiBlockSetEmboss (uiBlock *block, int emboss); +void uiBlockSetDirection (uiBlock *block, int direction); +void uiBlockFlipOrder (uiBlock *block); +void uiBlockSetFlag (uiBlock *block, int flag); +void uiBlockSetXOfs (uiBlock *block, int xofs); + +int uiButGetRetVal (uiBut *but); + +void uiButSetFlag (uiBut *but, int flag); +void uiButClearFlag (uiBut *but, int flag); + +void uiBlockSetButmFunc (uiBlock *block, void (*butmfunc)(void *arg, int but_a2), void *arg); + +void uiBlockSetFunc (uiBlock *block, void (*func)(void *arg1, void *arg2), void *arg1, void *arg2); +void uiButSetFunc (uiBut *but, void (*func)(void *arg1, void *arg2), void *arg1, void *arg2); + +void uiButSetCompleteFunc(uiBut *but, void (*func)(char *str, void *arg), void *arg); + +void uiBlockSetDrawExtraFunc(uiBlock *block, void (*func)(struct ScrArea *sa, uiBlock *block)); + + +extern void pupmenu_set_active(int val); +extern uiMenuBlockHandle *pupmenu_col(struct bContext *C, char *instr, int mx, int my, int maxrow); +extern uiMenuBlockHandle *pupmenu(struct bContext *C, char *instr, int mx, int my); +extern void pupmenu_free(struct bContext *C, uiMenuBlockHandle *handle); + +extern void uiFreePanels(struct ListBase *lb); +extern void uiNewPanelTabbed(char *, char *); +extern int uiNewPanel(struct ScrArea *sa, struct uiBlock *block, char *panelname, char *tabname, int ofsx, int ofsy, int sizex, int sizey); + +extern void uiSetPanel_view2d(struct ScrArea *sa); +extern void uiMatchPanel_view2d(struct ScrArea *sa); + +extern void uiDrawBlocksPanels(struct ScrArea *sa, int re_align); +extern void uiNewPanelHeight(struct uiBlock *block, int sizey); +extern void uiNewPanelTitle(struct uiBlock *block, char *str); +extern void uiPanelPush(struct uiBlock *block); +extern void uiPanelPop(struct uiBlock *block); +extern uiBlock *uiFindOpenPanelBlockName(ListBase *lb, char *name); +extern int uiAlignPanelStep(struct ScrArea *sa, float fac); +extern void uiPanelControl(int); +extern void uiSetPanelHandler(int); + +extern void uiDrawBoxShadow(unsigned char alpha, float minx, float miny, float maxx, float maxy); +extern void *uiSetCurFont_ext(float aspect); + +typedef struct AutoComplete AutoComplete; + +AutoComplete *autocomplete_begin(char *startname, int maxlen); +void autocomplete_do_name(AutoComplete *autocpl, const char *name); +void autocomplete_end(AutoComplete *autocpl, char *autoname); + +void uiTestRegion(const struct bContext *C); /* XXX 2.50 temporary test */ + +void UI_keymap(struct wmWindowManager *wm); + +void UI_init(void); +void UI_init_userdef(void); +void UI_exit(void); + +#endif /* UI_INTERFACE_H */ + diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h new file mode 100644 index 00000000000..f30e5531f41 --- /dev/null +++ b/source/blender/editors/include/UI_resources.h @@ -0,0 +1,595 @@ +/** + * $Id: UI_resources.h 13057 2007-12-30 12:08:28Z aligorith $ + * + * ***** BEGIN GPL/BL DUAL 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. The Blender + * Foundation also sells licenses for use in proprietary software under + * the Blender License. See http://www.blender.org/BL/ for information + * about this. + * + * 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) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL/BL DUAL LICENSE BLOCK ***** + */ + +#ifndef UI_RESOURCES_H +#define UI_RESOURCES_H + +/* elubie: TODO: move the typedef for icons to UI_interface_icons.h */ +/* and add/replace include of UI_resources.h by UI_interface_icons.h */ +typedef enum { +#define BIFICONID_FIRST (ICON_VIEW3D) + ICON_VIEW3D, + ICON_IPO, + ICON_OOPS, + ICON_BUTS, + ICON_FILESEL, + ICON_IMAGE_COL, + ICON_INFO, + ICON_SEQUENCE, + ICON_TEXT, + ICON_IMASEL, + ICON_SOUND, + ICON_ACTION, + ICON_NLA, + ICON_SCRIPTWIN, + ICON_TIME, + ICON_NODE, + ICON_SPACE2, + ICON_SPACE3, + ICON_SPACE4, + ICON_TRIA_LEFT, + ICON_TRIA_UP, + ICON_FONTPREVIEW, + ICON_BLANK4, + ICON_BLANK5, + ICON_BLANK6, + + ICON_ORTHO, + ICON_PERSP, + ICON_CAMERA, + ICON_PARTICLES, + ICON_BBOX, + ICON_WIRE, + ICON_SOLID, + ICON_SMOOTH, + ICON_POTATO, + ICON_MARKER_HLT, + ICON_PMARKER_ACT, + ICON_PMARKER_SEL, + ICON_PMARKER, + ICON_VIEWZOOM, + ICON_SORTALPHA, + ICON_SORTTIME, + ICON_SORTSIZE, + ICON_LONGDISPLAY, + ICON_SHORTDISPLAY, + ICON_TRIA_DOWN, + ICON_TRIA_RIGHT, + ICON_BLANK7, + ICON_BLANK8, + ICON_BLANK9, + ICON_BLANK10, + + ICON_VIEW_AXIS_ALL, + ICON_VIEW_AXIS_NONE, + ICON_VIEW_AXIS_NONE2, + ICON_VIEW_AXIS_TOP, + ICON_VIEW_AXIS_FRONT, + ICON_VIEW_AXIS_SIDE, + ICON_POSE_DEHLT, + ICON_POSE_HLT, + ICON_BORDERMOVE, + ICON_MAYBE_ITS_A_LASSO, + ICON_BLANK1, /* ATTENTION, someone decided to use this throughout blender + and didn't care to neither rename it nor update the PNG */ + ICON_VERSE, + ICON_MOD_BOOLEAN, + ICON_ARMATURE, + ICON_PAUSE, + ICON_ALIGN, + ICON_REC, + ICON_PLAY, + ICON_FF, + ICON_REW, + ICON_PYTHON, + ICON_BLANK11, + ICON_BLANK12, + ICON_BLANK13, + ICON_BLANK14, + + + ICON_DOTSUP, + ICON_DOTSDOWN, + ICON_MENU_PANEL, + ICON_AXIS_SIDE, + ICON_AXIS_FRONT, + ICON_AXIS_TOP, + ICON_STICKY_UVS_LOC, + ICON_STICKY_UVS_DISABLE, + ICON_STICKY_UVS_VERT, + ICON_PREV_KEYFRAME, + ICON_NEXT_KEYFRAME, + ICON_ENVMAP, + ICON_TRANSP_HLT, + ICON_TRANSP_DEHLT, + ICON_CIRCLE_DEHLT, + ICON_CIRCLE_HLT, + ICON_TPAINT_DEHLT, + ICON_TPAINT_HLT, + ICON_WPAINT_DEHLT, + ICON_WPAINT_HLT, + ICON_MARKER, + ICON_BLANK15, + ICON_BLANK16, + ICON_BLANK17, + ICON_BLANK18, + + ICON_X, + ICON_GO_LEFT, + ICON_NO_GO_LEFT, + ICON_UNLOCKED, + ICON_LOCKED, + ICON_PARLIB, + ICON_DATALIB, + ICON_AUTO, + ICON_MATERIAL_DEHLT2, + ICON_RING, + ICON_GRID, + ICON_PROPEDIT, + ICON_KEEPRECT, + ICON_DESEL_CUBE_VERTS, + ICON_EDITMODE_DEHLT, + ICON_EDITMODE_HLT, + ICON_VPAINT_DEHLT, + ICON_VPAINT_HLT, + ICON_FACESEL_DEHLT, + ICON_FACESEL_HLT, + ICON_EDIT_DEHLT, + ICON_BOOKMARKS, + ICON_BLANK20, + ICON_BLANK21, + ICON_BLANK22, + + ICON_HELP, + ICON_ERROR, + ICON_FOLDER_DEHLT, + ICON_FOLDER_HLT, + ICON_BLUEIMAGE_DEHLT, + ICON_BLUEIMAGE_HLT, + ICON_BPIBFOLDER_DEHLT, + ICON_BPIBFOLDER_HLT, + ICON_BPIBFOLDER_ERR, + ICON_UGLY_GREEN_RING, + ICON_GHOST, + ICON_SORTBYEXT, + ICON_SCULPTMODE_HLT, + ICON_VERTEXSEL, + ICON_EDGESEL, + ICON_FACESEL, + ICON_PLUS, + ICON_BPIBFOLDER_X, + ICON_BPIBFOLDERGREY, + ICON_MAGNIFY, + ICON_INFO2, + ICON_BLANK23, + ICON_BLANK24, + ICON_BLANK25, + ICON_BLANK26, + + ICON_RIGHTARROW, + ICON_DOWNARROW_HLT, + ICON_ROUNDBEVELTHING, + ICON_FULLTEXTURE, + ICON_HOOK, + ICON_DOT, + ICON_WORLD_DEHLT, + ICON_CHECKBOX_DEHLT, + ICON_CHECKBOX_HLT, + ICON_LINK, + ICON_INLINK, + ICON_ZOOMIN, + ICON_ZOOMOUT, + ICON_PASTEDOWN, + ICON_COPYDOWN, + ICON_CONSTANT, + ICON_LINEAR, + ICON_CYCLIC, + ICON_KEY_DEHLT, + ICON_KEY_HLT, + ICON_GRID2, + ICON_BLANK27, + ICON_BLANK28, + ICON_BLANK29, + ICON_BLANK30, + + ICON_EYE, + ICON_LAMP, + ICON_MATERIAL, + ICON_TEXTURE, + ICON_ANIM, + ICON_WORLD, + ICON_SCENE, + ICON_EDIT, + ICON_GAME, + ICON_PAINT, + ICON_RADIO, + ICON_SCRIPT, + ICON_SPEAKER, + ICON_PASTEUP, + ICON_COPYUP, + ICON_PASTEFLIPUP, + ICON_PASTEFLIPDOWN, + ICON_CYCLICLINEAR, + ICON_PIN_DEHLT, + ICON_PIN_HLT, + ICON_LITTLEGRID, + ICON_BLANK31, + ICON_BLANK32, + ICON_BLANK33, + ICON_BLANK34, + + ICON_FULLSCREEN, + ICON_SPLITSCREEN, + ICON_RIGHTARROW_THIN, + ICON_DISCLOSURE_TRI_RIGHT, + ICON_DISCLOSURE_TRI_DOWN, + ICON_SCENE_SEPIA, + ICON_SCENE_DEHLT, + ICON_OBJECT, + ICON_MESH, + ICON_CURVE, + ICON_MBALL, + ICON_LATTICE, + ICON_LAMP_DEHLT, + ICON_MATERIAL_DEHLT, + ICON_TEXTURE_DEHLT, + ICON_IPO_DEHLT, + ICON_LIBRARY_DEHLT, + ICON_IMAGE_DEHLT, + ICON_EYEDROPPER, + ICON_WINDOW_WINDOW, + ICON_PANEL_CLOSE, + ICON_PHYSICS, + ICON_BLANK36, + ICON_BLANK37, + ICON_BLANK38, + + ICON_BLENDER, + ICON_PACKAGE, + ICON_UGLYPACKAGE, + ICON_MATPLANE, + ICON_MATSPHERE, + ICON_MATCUBE, + ICON_SCENE_HLT, + ICON_OBJECT_HLT, + ICON_MESH_HLT, + ICON_CURVE_HLT, + ICON_MBALL_HLT, + ICON_LATTICE_HLT, + ICON_LAMP_HLT, + ICON_MATERIAL_HLT, + ICON_TEXTURE_HLT, + ICON_IPO_HLT, + ICON_LIBRARY_HLT, + ICON_IMAGE_HLT, + ICON_CONSTRAINT, + ICON_CAMERA_DEHLT, + ICON_ARMATURE_DEHLT, + ICON_SNAP_GEAR, + ICON_SNAP_GEO, + ICON_BLANK41, + ICON_BLANK42, + + ICON_SMOOTHCURVE, + ICON_SPHERECURVE, + ICON_ROOTCURVE, + ICON_SHARPCURVE, + ICON_LINCURVE, + ICON_NOCURVE, + ICON_RNDCURVE, + ICON_PROP_OFF, + ICON_PROP_ON, + ICON_PROP_CON, + ICON_SYNTAX, + ICON_SYNTAX_OFF, + ICON_MONKEY, + ICON_HAIR, + ICON_VIEWMOVE, + ICON_HOME, + ICON_CLIPUV_DEHLT, + ICON_CLIPUV_HLT, + ICON_BLANK2, + ICON_BLANK3, + ICON_VPAINT_COL, + ICON_RESTRICT_SELECT_OFF, + ICON_RESTRICT_SELECT_ON, + ICON_MUTE_IPO_OFF, + ICON_MUTE_IPO_ON, + + ICON_MAN_TRANS, + ICON_MAN_ROT, + ICON_MAN_SCALE, + ICON_MANIPUL, + ICON_BLANK_47, + ICON_MODIFIER, + ICON_MOD_WAVE, + ICON_MOD_BUILD, + ICON_MOD_DECIM, + ICON_MOD_MIRROR, + ICON_MOD_SOFT, + ICON_MOD_SUBSURF, + ICON_SEQ_SEQUENCER, + ICON_SEQ_PREVIEW, + ICON_SEQ_LUMA_WAVEFORM, + ICON_SEQ_CHROMA_SCOPE, + ICON_ROTATE, + ICON_CURSOR, + ICON_ROTATECOLLECTION, + ICON_ROTATECENTER, + ICON_ROTACTIVE, + ICON_RESTRICT_VIEW_OFF, + ICON_RESTRICT_VIEW_ON, + ICON_RESTRICT_RENDER_OFF, + ICON_RESTRICT_RENDER_ON, + + VICON_VIEW3D, + VICON_EDIT, + VICON_EDITMODE_DEHLT, + VICON_EDITMODE_HLT, + VICON_DISCLOSURE_TRI_RIGHT, + VICON_DISCLOSURE_TRI_DOWN, + VICON_MOVE_UP, + VICON_MOVE_DOWN, + VICON_X + +#define BIFICONID_LAST (VICON_X) +#define BIFNICONIDS (BIFICONID_LAST-BIFICONID_FIRST + 1) +} BIFIconID; + +typedef enum { +#define BIFCOLORSHADE_FIRST (COLORSHADE_DARK) + COLORSHADE_DARK, + COLORSHADE_GREY, + COLORSHADE_MEDIUM, + COLORSHADE_HILITE, + COLORSHADE_LIGHT, + COLORSHADE_WHITE +#define BIFCOLORSHADE_LAST (COLORSHADE_WHITE) +#define BIFNCOLORSHADES (BIFCOLORSHADE_LAST-BIFCOLORSHADE_FIRST + 1) +} BIFColorShade; + +typedef enum { +#define BIFCOLORID_FIRST (BUTGREY) + BUTGREY = 0, + BUTGREEN, + BUTBLUE, + BUTSALMON, + MIDGREY, + BUTPURPLE, + BUTYELLOW, + REDALERT, + BUTRUST, + BUTWHITE, + BUTDBLUE, + BUTPINK, + BUTDPINK, + BUTMACTIVE, + + BUTIPO, + BUTAUDIO, + BUTCAMERA, + BUTRANDOM, + BUTEDITOBJECT, + BUTPROPERTY, + BUTSCENE, + BUTMOTION, + BUTMESSAGE, + BUTACTION, + BUTCD, + BUTGAME, + BUTVISIBILITY, + BUTYUCK, + BUTSEASICK, + BUTCHOKE, + BUTIMPERIAL, + + BUTTEXTCOLOR, + BUTTEXTPRESSED, + BUTSBACKGROUND, + + VIEWPORTBACKCOLOR, + VIEWPORTGRIDCOLOR, + VIEWPORTACTIVECOLOR, + VIEWPORTSELECTEDCOLOR, + VIEWPORTUNSELCOLOR, + + EDITVERTSEL, + EDITVERTUNSEL, + EDITEDGESEL, + EDITEDGEUNSEL + +#define BIFCOLORID_LAST (EDITEDGEUNSEL) +#define BIFNCOLORIDS (BIFCOLORID_LAST-BIFCOLORID_FIRST + 1) + +} BIFColorID; + +/* XXX WARNING: this is saved in file, so do not change order! */ +enum { + TH_AUTO, /* for buttons, to signal automatic color assignment */ + +// uibutton colors + TH_BUT_OUTLINE, + TH_BUT_NEUTRAL, + TH_BUT_ACTION, + TH_BUT_SETTING, + TH_BUT_SETTING1, + TH_BUT_SETTING2, + TH_BUT_NUM, + TH_BUT_TEXTFIELD, + TH_BUT_POPUP, + TH_BUT_TEXT, + TH_BUT_TEXT_HI, + TH_MENU_BACK, + TH_MENU_ITEM, + TH_MENU_HILITE, + TH_MENU_TEXT, + TH_MENU_TEXT_HI, + + TH_BUT_DRAWTYPE, + + TH_REDALERT, + TH_CUSTOM, + + TH_BUT_TEXTFIELD_HI, + TH_ICONFILE, + + TH_THEMEUI, +// common colors among spaces + + TH_BACK, + TH_TEXT, + TH_TEXT_HI, + TH_HEADER, + TH_HEADERDESEL, + TH_PANEL, + TH_SHADE1, + TH_SHADE2, + TH_HILITE, + + TH_GRID, + TH_WIRE, + TH_SELECT, + TH_ACTIVE, + TH_GROUP, + TH_GROUP_ACTIVE, + TH_TRANSFORM, + TH_VERTEX, + TH_VERTEX_SELECT, + TH_VERTEX_SIZE, + TH_EDGE, + TH_EDGE_SELECT, + TH_EDGE_SEAM, + TH_EDGE_FACESEL, + TH_FACE, + TH_FACE_SELECT, + TH_NORMAL, + TH_FACE_DOT, + TH_FACEDOT_SIZE, + TH_CFRAME, + + TH_SYNTAX_B, + TH_SYNTAX_V, + TH_SYNTAX_C, + TH_SYNTAX_L, + TH_SYNTAX_N, + + TH_BONE_SOLID, + TH_BONE_POSE, + + TH_STRIP, + TH_STRIP_SELECT, + + TH_LAMP, + + TH_NODE, + TH_NODE_IN_OUT, + TH_NODE_OPERATOR, + TH_NODE_CONVERTOR, + TH_NODE_GROUP, + + TH_SEQ_MOVIE, + TH_SEQ_IMAGE, + TH_SEQ_SCENE, + TH_SEQ_AUDIO, + TH_SEQ_EFFECT, + TH_SEQ_PLUGIN, + TH_SEQ_TRANSITION, + TH_SEQ_META, + + TH_EDGE_SHARP, + TH_EDITMESH_ACTIVE, +}; +/* XXX WARNING: previous is saved in file, so do not change order! */ + +/* theme drawtypes */ +#define TH_MINIMAL 0 +#define TH_SHADED 1 +#define TH_ROUNDED 2 +#define TH_OLDSKOOL 3 + +/* specific defines per space should have higher define values */ + +struct bTheme; + +// THE CODERS API FOR THEMES: + +// sets the color +void UI_ThemeColor(int colorid); + +// sets the color plus alpha +void UI_ThemeColor4(int colorid); + +// sets color plus offset for shade +void UI_ThemeColorShade(int colorid, int offset); + +// sets color plus offset for alpha +void UI_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset); + +// sets color, which is blend between two theme colors +void UI_ThemeColorBlend(int colorid1, int colorid2, float fac); +// same, with shade offset +void UI_ThemeColorBlendShade(int colorid1, int colorid2, float fac, int offset); + +// returns one value, not scaled +float UI_GetThemeValuef(int colorid); +int UI_GetThemeValue(int colorid); + +// get three color values, scaled to 0.0-1.0 range +void UI_GetThemeColor3fv(int colorid, float *col); + +// get the 3 or 4 byte values +void UI_GetThemeColor3ubv(int colorid, char *col); +void UI_GetThemeColor4ubv(int colorid, char *col); + +// get a theme color from specified space type +void UI_GetThemeColorType4ubv(int colorid, int spacetype, char *col); + +// blends and shades between two color pointers +void UI_ColorPtrBlendShade3ubv(char *cp1, char *cp2, float fac, int offset); + +// get a 3 byte color, blended and shaded between two other char color pointers +void UI_GetColorPtrBlendShade3ubv(char *cp1, char *cp2, char *col, float fac, int offset); + + +struct ScrArea; + +// internal (blender) usage only, for init and set active +void UI_SetTheme(struct ScrArea *sa); +void ui_theme_init_userdef (void); +void ui_resources_init (void); +void ui_resources_free (void); + +/* only for buttons in theme editor! */ +char *UI_ThemeGetColorPtr(struct bTheme *btheme, int spacetype, int colorid); +char *UI_ThemeColorsPup(int spacetype); + +#endif /* UI_ICONS_H */ diff --git a/source/blender/editors/include/UI_text.h b/source/blender/editors/include/UI_text.h new file mode 100644 index 00000000000..03a51f5ee49 --- /dev/null +++ b/source/blender/editors/include/UI_text.h @@ -0,0 +1,67 @@ +/** + * $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) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef UI_TEXT_H +#define UI_TEXT_H + +struct BMF_Font; + +int read_languagefile(void); /* usiblender.c */ +void free_languagemenu(void); /* usiblender.c */ + +void set_interface_font(char *str); /* headerbuttons.c */ +void start_interface_font(void); /* headerbuttons.c */ +void lang_setlanguage(void); /* usiblender.c */ + +char *language_pup(void); +char *fontsize_pup(void); + +int UI_DrawString(struct BMF_Font* font, char *str, int translate); +float UI_GetStringWidth(struct BMF_Font* font, char *str, int translate); +void UI_GetBoundingBox(struct BMF_Font* font, char* str, int translate, rctf* bbox); + +void UI_set_international(int international); +int UI_get_international(void); + +void UI_RasterPos(float x, float y); +void UI_SetScale(float aspect); +void ui_text_init_userdef(void); + +struct LANGMenuEntry { + struct LANGMenuEntry *next; + char *line; + char *language; + char *code; + int id; +}; + +struct LANGMenuEntry *find_language(short langid); + +#endif /* UI_TEXT_H */ + diff --git a/source/blender/editors/include/UI_view2d.h b/source/blender/editors/include/UI_view2d.h new file mode 100644 index 00000000000..481d96952e9 --- /dev/null +++ b/source/blender/editors/include/UI_view2d.h @@ -0,0 +1,69 @@ +/** + * $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. + * All rights reserved. + * + * + * Contributor(s): Blender Foundation + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifndef UI_VIEW2D_H +#define UI_VIEW2D_H + +/* start of a generic 2d view with should allow drawing grids, + * panning, zooming, scrolling, .. */ + +#define V2D_UNIT_SECONDS 0 +#define V2D_UNIT_FRAMES 1 + +#define V2D_GRID_CLAMP 0 +#define V2D_GRID_NOCLAMP 1 + +#define V2D_IS_CLIPPED 12000 + +#define V2D_HORIZONTAL_LINES 1 +#define V2D_VERTICAL_LINES 2 +#define V2D_HORIZONTAL_AXIS 4 +#define V2D_VERTICAL_AXIS 8 + +struct View2D; +struct View2DGrid; +struct bContext; + +typedef struct View2DGrid View2DGrid; + +/* setup */ +void UI_view2d_ortho(const struct bContext *C, struct View2D *v2d); +void UI_view2d_update_size(struct View2D *v2d, int winx, int winy); + +/* grid drawing */ +View2DGrid *UI_view2d_calc_grid(const struct bContext *C, struct View2D *v2d, int unit, int type, int winx, int winy); +void UI_view2d_draw_grid(const struct bContext *C, struct View2D *v2d, View2DGrid *grid, int flag); +void UI_view2d_free_grid(View2DGrid *grid); + +/* coordinate conversion */ +void UI_view2d_region_to_view(struct View2D *v2d, short x, short y, float *viewx, float *viewy); +void UI_view2d_view_to_region(struct View2D *v2d, float x, float y, short *regionx, short *regiony); +void UI_view2d_to_region_no_clip(struct View2D *v2d, float x, float y, short *regionx, short *region_y); + +#endif /* UI_VIEW2D_H */ + |