Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r--source/blender/editors/include/BIF_interface_icons.h72
-rw-r--r--source/blender/editors/include/BIF_resources.h600
-rw-r--r--source/blender/editors/include/BIF_view2d.h68
-rw-r--r--source/blender/editors/include/ED_datafiles.h50
-rw-r--r--source/blender/editors/include/ED_interface.h33
-rw-r--r--source/blender/editors/include/UI_interface.h350
-rw-r--r--source/blender/editors/include/UI_resources.h595
-rw-r--r--source/blender/editors/include/UI_text.h67
-rw-r--r--source/blender/editors/include/UI_view2d.h69
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 */
+