308 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			308 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 * $Id$
 | 
						|
 *
 | 
						|
 * ***** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 *****
 | 
						|
 */
 | 
						|
 | 
						|
/** \file UI_resources.h
 | 
						|
 *  \ingroup editorui
 | 
						|
 */
 | 
						|
 | 
						|
#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 */
 | 
						|
#define DEF_ICON(name) ICON_##name,
 | 
						|
#define DEF_VICO(name) VICO_##name,
 | 
						|
 | 
						|
typedef enum {
 | 
						|
	/* ui */
 | 
						|
#include "UI_icons.h"
 | 
						|
	BIFICONID_LAST
 | 
						|
} BIFIconID;
 | 
						|
 | 
						|
#define BIFICONID_FIRST		(ICON_NONE)
 | 
						|
#define BIFNICONIDS			(BIFICONID_LAST-BIFICONID_FIRST + 1)
 | 
						|
 | 
						|
#undef DEF_ICON
 | 
						|
#undef DEF_VICO
 | 
						|
 | 
						|
 | 
						|
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;
 | 
						|
 | 
						|
enum {
 | 
						|
	TH_REDALERT,
 | 
						|
 | 
						|
	TH_THEMEUI,
 | 
						|
// common colors among spaces
 | 
						|
	
 | 
						|
	TH_BACK,
 | 
						|
	TH_TEXT,
 | 
						|
	TH_TEXT_HI,
 | 
						|
	TH_TITLE,
 | 
						|
	
 | 
						|
	TH_HEADER,
 | 
						|
	TH_HEADERDESEL,
 | 
						|
	TH_HEADER_TEXT,
 | 
						|
	TH_HEADER_TEXT_HI,
 | 
						|
	
 | 
						|
	/* float panels */
 | 
						|
	TH_PANEL,
 | 
						|
	TH_PANEL_TEXT,
 | 
						|
	TH_PANEL_TEXT_HI,
 | 
						|
	
 | 
						|
	TH_BUTBACK,
 | 
						|
	TH_BUTBACK_TEXT,
 | 
						|
	TH_BUTBACK_TEXT_HI,
 | 
						|
	
 | 
						|
	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_OUTLINE_WIDTH,
 | 
						|
	TH_EDGE,
 | 
						|
	TH_EDGE_SELECT,
 | 
						|
	TH_EDGE_SEAM,
 | 
						|
	TH_EDGE_FACESEL,
 | 
						|
	TH_FACE,
 | 
						|
	TH_FACE_SELECT,
 | 
						|
	TH_NORMAL,
 | 
						|
	TH_VNORMAL,
 | 
						|
	TH_FACE_DOT,
 | 
						|
	TH_FACEDOT_SIZE,
 | 
						|
	TH_CFRAME,
 | 
						|
	TH_NURB_ULINE,
 | 
						|
	TH_NURB_VLINE,
 | 
						|
	TH_NURB_SEL_ULINE,
 | 
						|
	TH_NURB_SEL_VLINE,
 | 
						|
 | 
						|
	/* this eight colors should be in one block */
 | 
						|
	TH_HANDLE_FREE,
 | 
						|
	TH_HANDLE_AUTO,
 | 
						|
	TH_HANDLE_VECT,
 | 
						|
	TH_HANDLE_ALIGN,
 | 
						|
	TH_HANDLE_SEL_FREE,
 | 
						|
	TH_HANDLE_SEL_AUTO,
 | 
						|
	TH_HANDLE_SEL_VECT,
 | 
						|
	TH_HANDLE_SEL_ALIGN,
 | 
						|
 | 
						|
	TH_ACTIVE_SPLINE,
 | 
						|
	TH_LASTSEL_POINT,
 | 
						|
 | 
						|
	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_CONSOLE_OUTPUT,
 | 
						|
	TH_CONSOLE_INPUT,
 | 
						|
	TH_CONSOLE_INFO,
 | 
						|
	TH_CONSOLE_ERROR,
 | 
						|
	TH_CONSOLE_CURSOR,
 | 
						|
	
 | 
						|
	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,
 | 
						|
	
 | 
						|
	TH_HANDLE_VERTEX,
 | 
						|
	TH_HANDLE_VERTEX_SELECT,
 | 
						|
	TH_HANDLE_VERTEX_SIZE,
 | 
						|
	
 | 
						|
	TH_DOPESHEET_CHANNELOB,
 | 
						|
	TH_DOPESHEET_CHANNELSUBOB,
 | 
						|
	
 | 
						|
	TH_PREVIEW_BACK,
 | 
						|
	
 | 
						|
	TH_EDGE_CREASE,
 | 
						|
 | 
						|
	TH_DRAWEXTRA_EDGELEN,
 | 
						|
	TH_DRAWEXTRA_FACEAREA,
 | 
						|
	TH_DRAWEXTRA_FACEANG
 | 
						|
};
 | 
						|
/* XXX WARNING: previous is saved in file, so do not change order! */
 | 
						|
 | 
						|
/* specific defines per space should have higher define values */
 | 
						|
 | 
						|
struct bTheme;
 | 
						|
struct PointerRNA;
 | 
						|
 | 
						|
// 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);
 | 
						|
void	UI_ThemeColorBlendShadeAlpha(int colorid1, int colorid2, float fac, int offset, int alphaoffset);
 | 
						|
 | 
						|
// 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 color, range 0.0-1.0, complete with shading offset
 | 
						|
void 	UI_GetThemeColorShade3fv(int colorid, int offset, float *col);
 | 
						|
 | 
						|
// get the 3 or 4 byte values
 | 
						|
void 	UI_GetThemeColor3ubv(int colorid, unsigned char col[3]);
 | 
						|
void 	UI_GetThemeColor4ubv(int colorid, unsigned char col[4]);
 | 
						|
 | 
						|
// get a theme color from specified space type
 | 
						|
void	UI_GetThemeColorType4ubv(int colorid, int spacetype, char col[4]);
 | 
						|
 | 
						|
// blends and shades between two color pointers
 | 
						|
void	UI_ColorPtrBlendShade3ubv(const unsigned char cp1[3], const unsigned char cp2[3], float fac, int offset);
 | 
						|
 | 
						|
// get a 3 byte color, blended and shaded between two other char color pointers
 | 
						|
void	UI_GetColorPtrBlendShade3ubv(const unsigned char cp1[3], const unsigned char cp2[3], unsigned char col[3], float fac, int offset);
 | 
						|
 | 
						|
// clear the openGL ClearColor using the input colorid
 | 
						|
void	UI_ThemeClearColor(int colorid);
 | 
						|
 | 
						|
// internal (blender) usage only, for init and set active
 | 
						|
void 	UI_SetTheme(int spacetype, int regionid);
 | 
						|
 | 
						|
/* only for buttons in theme editor! */
 | 
						|
const unsigned char 	*UI_ThemeGetColorPtr(struct bTheme *btheme, int spacetype, int colorid);
 | 
						|
 | 
						|
void UI_make_axis_color(const unsigned char *src_col, unsigned char *dst_col, const char axis);
 | 
						|
 | 
						|
#endif /*  UI_ICONS_H */
 |