Blender V2.61 - r43446
|
00001 /* 00002 * ***** BEGIN GPL LICENSE BLOCK ***** 00003 * 00004 * This program is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU General Public License 00006 * as published by the Free Software Foundation; either version 2 00007 * of the License, or (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software Foundation, 00016 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00017 * 00018 * The Original Code is Copyright (C) 2008 Blender Foundation. 00019 * All rights reserved. 00020 * 00021 * 00022 * Contributor(s): Blender Foundation 00023 * 00024 * ***** END GPL LICENSE BLOCK ***** 00025 */ 00026 00031 #ifndef ED_SCREEN_TYPES_H__ 00032 #define ED_SCREEN_TYPES_H__ 00033 00034 /* ----------------------------------------------------- */ 00035 00036 /* for animplayer */ 00037 typedef struct ScreenAnimData { 00038 ARegion *ar; /* do not read from this, only for comparing if region exists */ 00039 short redraws; 00040 short refresh; 00041 short flag; /* flags for playback */ 00042 int sfra; /* frame that playback was started from */ 00043 int nextfra; /* next frame to go to (when ANIMPLAY_FLAG_USE_NEXT_FRAME is set) */ 00044 } ScreenAnimData; 00045 00046 /* for animplayer */ 00047 enum { 00048 /* user-setting - frame range is played backwards */ 00049 ANIMPLAY_FLAG_REVERSE = (1<<0), 00050 /* temporary - playback just jumped to the start/end */ 00051 ANIMPLAY_FLAG_JUMPED = (1<<1), 00052 /* drop frames as needed to maintain framerate */ 00053 ANIMPLAY_FLAG_SYNC = (1<<2), 00054 /* don't drop frames (and ignore SCE_FRAME_DROP flag) */ 00055 ANIMPLAY_FLAG_NO_SYNC = (1<<3), 00056 /* use nextfra at next timer update */ 00057 ANIMPLAY_FLAG_USE_NEXT_FRAME = (1<<4) 00058 }; 00059 00060 /* ----------------------------------------------------- */ 00061 00062 #define REDRAW_FRAME_AVERAGE 8 00063 00064 /* for playback framerate info 00065 * stored during runtime as scene->fps_info 00066 */ 00067 typedef struct ScreenFrameRateInfo { 00068 double redrawtime; 00069 double lredrawtime; 00070 float redrawtimes_fps[REDRAW_FRAME_AVERAGE]; 00071 short redrawtime_index; 00072 } ScreenFrameRateInfo; 00073 00074 /* ----------------------------------------------------- */ 00075 00076 /* Enum for Action Zone Edges. Which edge of area is action zone. */ 00077 typedef enum { 00078 AE_RIGHT_TO_TOPLEFT, /* Region located on the left, _right_ edge is action zone. Region minimised to the top left */ 00079 AE_LEFT_TO_TOPRIGHT, /* Region located on the right, _left_ edge is action zone. Region minimised to the top right */ 00080 AE_TOP_TO_BOTTOMRIGHT, /* Region located at the bottom, _top_ edge is action zone. Region minimised to the bottom right */ 00081 AE_BOTTOM_TO_TOPLEFT /* Region located at the top, _bottom_edge is action zone. Region minimised to the top left */ 00082 } AZEdge; 00083 00084 /* for editing areas/regions */ 00085 typedef struct AZone { 00086 struct AZone *next, *prev; 00087 ARegion *ar; 00088 int type; 00089 /* region-azone, which of the edges */ 00090 AZEdge edge; 00091 /* internal */ 00092 short do_draw; 00093 /* for draw */ 00094 short x1, y1, x2, y2; 00095 /* for clip */ 00096 rcti rect; 00097 } AZone; 00098 00099 /* actionzone type */ 00100 #define AZONE_AREA 1 00101 #define AZONE_REGION 2 00102 00103 #endif /* ED_SCREEN_TYPES_H__ */