1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400
|
/* Copyright 2000 Kjetil S. Matheussen
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. */
#ifndef RADIUM_VISUAL_PROC_H
#define RADIUM_VISUAL_PROC_H
#include "OS_visual_input.h"
#define TEXT_IGNORE_WIDTH -99999 // Can be used instead of width, not a flag
// flags:
#define TEXT_NOFLAGS 0
#define TEXT_CLEAR 1
#define TEXT_INVERT 2
#define TEXT_CENTER 4
#define TEXT_CLIPRECT 8
#define TEXT_NOTEXT 16
#define TEXT_BOLD 32
#define TEXT_SCALE 64 // Scales the text into the box.
extern LANGSPEC int GFX_Message(vector_t *buttons,const char *fmt,...);
extern LANGSPEC void GFX_AddMenuItem(struct Tracker_Windows *tvisual, const char *name, const char *python_command);
extern LANGSPEC void GFX_AddCheckableMenuItem(struct Tracker_Windows *tvisual, const char *name, const char *python_command, int checkval);
extern LANGSPEC void GFX_AddMenuSeparator(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_AddMenuMenu(struct Tracker_Windows *tvisual, const char *name, const char *command);
extern LANGSPEC void GFX_GoPreviousMenuLevel(struct Tracker_Windows *tvisual);
extern LANGSPEC void QUEUE_GFX_C2V_bitBlt(
struct Tracker_Windows *window,
int from_x1,int from_x2,
int to_y
);
/* window,x1,x2,x3,x4,height, y pixmap */
extern LANGSPEC void QUEUE_GFX_C_DrawCursor(
struct Tracker_Windows *window,
int x1,int x2,int x3,int x4,int height,
int y_pixmap
);
extern LANGSPEC void QUEUE_GFX_P2V_bitBlt(
struct Tracker_Windows *window,
int from_x,int from_y,
int to_x,int to_y,
int width,int height
);
extern LANGSPEC void QUEUE_GFX_P_FilledBox(struct Tracker_Windows *tvisual,int color,int x,int y,int x2,int y2);
extern LANGSPEC void GFX_disable_mouse_keyboard(void);
extern LANGSPEC void GFX_enable_mouse_keyboard(void);
extern LANGSPEC int GFX_CreateVisual(struct Tracker_Windows *tvisual);
extern LANGSPEC int GFX_ShutDownVisual(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_SetMinimumWindowWidth(struct Tracker_Windows *tvisual, int width);
extern LANGSPEC void GFX_EditorWindowToFront(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_PlayListWindowToFront(void);
extern LANGSPEC void GFX_PlayListWindowToBack(void);
extern LANGSPEC void GFX_InstrumentWindowToFront(void);
extern LANGSPEC void GFX_InstrumentWindowToBack(void);
extern LANGSPEC void GFX_HelpWindowToFront(void);
extern LANGSPEC void GFX_toggleFullScreen(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_showHideInstrumentWidget(struct Tracker_Windows *window);
extern LANGSPEC void GFX_showHidePlaylist(struct Tracker_Windows *window);
extern LANGSPEC void GFX_showHideEditor(void);
extern LANGSPEC void GFX_showHideMixerWidget(void);
extern LANGSPEC void GFX_SetMinimalInstrumentWindow(void);
extern LANGSPEC bool GFX_EditorIsVisible(void);
extern LANGSPEC void GFX_ShowEditor(void);
extern LANGSPEC void GFX_HideEditor(void);
extern LANGSPEC bool GFX_MixerIsVisible(void);
extern LANGSPEC void GFX_ShowMixer(void);
extern LANGSPEC void GFX_HideMixer(void);
extern LANGSPEC bool GFX_InstrumentWindowIsVisible(void);
extern LANGSPEC void GFX_MaximizeEditorWindow(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_MinimizeEditorWindow(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_ConfigColors(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_ConfigFonts(struct Tracker_Windows *tvisual);
extern LANGSPEC void GFX_SetDefaultColors(struct Tracker_Windows *tvisual);
//bool GFX_SelectEditFont(struct Tracker_Windows *tvisual){
extern LANGSPEC void QUEUE_GFX_FilledBox(struct Tracker_Windows *tvisual,int color,int x,int y,int x2,int y2, int where);
extern LANGSPEC void QUEUE_GFX_Box(struct Tracker_Windows *tvisual,int color,int x,int y,int x2,int y2, int where);
extern LANGSPEC void QUEUE_GFX_SetClipRect(
struct Tracker_Windows *tvisual,
int x,int y,
int x2,int y2,
int where
);
extern LANGSPEC void QUEUE_GFX_CancelClipRect(struct Tracker_Windows *tvisual, int where);
extern LANGSPEC void PREOS_GFX_Line(struct Tracker_Windows *window,int color,int x,int y,int x2,int y2,int where);
extern LANGSPEC void QUEUE_GFX_Line(struct Tracker_Windows *tvisual,int color,int x,int y,int x2,int y2,int where);
extern LANGSPEC void GFX_Point(struct Tracker_Windows *tvisual,int color,int brightness,int x,int y,int where); // brigtness is between 0 and MAX_BRIGHTNESS. Used by aa lines.
extern LANGSPEC void QUEUE_GFX_Point(struct Tracker_Windows* tvisual,int color,int brightness,int x,int y,int where);
extern LANGSPEC void QUEUE_GFX_Points(struct Tracker_Windows* tvisual,int color,int brightness,int num_points, uint16_t *x,uint16_t *y,int where);
extern LANGSPEC void OS_GFX_Point(
struct Tracker_Windows *tvisual,
int color,
int brightness,
int x,int y,
int where
);
extern LANGSPEC void OS_GFX_Points(
struct Tracker_Windows *tvisual,
int color,
int brightness,
int num_points,
uint16_t *x,uint16_t *y,
int where
);
extern LANGSPEC void OS_GFX_SetMixColor(struct Tracker_Windows *tvisual,int color1,int color2,int mix_factor);
extern LANGSPEC void QUEUE_GFX_SetMixColor(struct Tracker_Windows *tvisual,int color1,int color2,int mix_factor);
extern LANGSPEC void OS_GFX_Polygon(
struct Tracker_Windows *tvisual,
int color,
int x1, int y1, int x2, int y2,
int num_points,
struct APoint *peaks,
int where
);
extern LANGSPEC void OS_GFX_Polyline(
struct Tracker_Windows *tvisual,
int color,
int x1, int y1, int x2, int y2,
int num_points,
struct APoint *peaks,
int where
);
extern LANGSPEC void QUEUE_GFX_Polygon(
struct Tracker_Windows *tvisual,
int color,
int x1, int y1, int x2, int y2,
int num_points,
struct APoint *peaks,
int where
);
extern LANGSPEC void QUEUE_GFX_Polyline(
struct Tracker_Windows *tvisual,
int color,
int x1, int y1, int x2, int y2,
int num_points,
struct APoint *peaks,
int where
);
extern LANGSPEC int GFX_get_text_width(struct Tracker_Windows *tvisual, const char *text);
extern LANGSPEC int GFX_get_num_characters(struct Tracker_Windows *tvisual, const char *text, int max_width);
extern LANGSPEC void PREOS_GFX_Text(
struct Tracker_Windows *tvisual,
int color,
const char *text,
int x,
int y,
int width,
int flags,
int where
);
extern LANGSPEC void QUEUE_GFX_Text(
struct Tracker_Windows *tvisual,
int color,
const char *text,
int x,
int y,
int width,
int flags,
int where
);
extern LANGSPEC void GFX_DrawTrackBorderSingle(
struct Tracker_Windows *tvisual,
int x, int y, int y2,
int where
);
extern LANGSPEC void GFX_DrawTrackBorderDouble(
struct Tracker_Windows *tvisual,
int x, int y, int y2,
int where
);
extern LANGSPEC void QUEUE_GFX_BitBlt(
struct Tracker_Windows *tvisual,
int dx,int dy,
int x,int y,
int x2,int y2
);
extern LANGSPEC int GFX_ResizeWindow(struct Tracker_Windows *tvisual,int x,int y);
void GFXS_LineType(
void (*GFX_OSFunc)(
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
),
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
);
void GFXS_BoxType(
void (*GFX_OSFunc)(
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
),
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
);
void GFXS_TextType(
void (*GFX_OSFunc)(
struct Tracker_Windows *window,
int color,const char *text,
int x,int y,
int width,
int flags,
int where
),
struct Tracker_Windows *window,
int color,const char *text,
int x,int y,
int width,
int flags,
int where
);
void GFXS_BorderType(
void (*GFX_P_OSFunc)(
struct Tracker_Windows *tvisual,
int x, int y, int y2,
int where
),
struct Tracker_Windows *tvisual,
int x, int y, int y2,
int where
);
void GFXS_BorderType2(
void (*GFX_P_OSFunc)(
struct Tracker_Windows *tvisual,
int x, int y, int y2,
int where
),
struct Tracker_Windows *tvisual,
int x, int y, int y2,
int where
);
void GFXS_BitBltType(
void (*GFX_P_OSFunc)(
struct Tracker_Windows *tvisual,
int dx,int dy,
int x,int y,
int x2,int y2
),
struct Tracker_Windows *tvisual,
int dx,int dy,
int x,int y,
int x2,int y2
);
void GFXST_LineType(
void (*GFX_OSFunc)(
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
),
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
);
void GFXST_BoxType(
void (*GFX_OSFunc)(
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
),
struct Tracker_Windows *window,
int color,
int x,int y,int x2,int y2,
int where
);
void GFXST_TextType(
void (*GFX_OSFunc)(
struct Tracker_Windows *window,
int color,const char *text,
int x,int y,
int width,
int flags,
int where
),
struct Tracker_Windows *window,
int color,const char *text,
int x,int y,
int width,
int flags,
int where
);
void GFXST_BorderType(
void (*GFX_P_OSFunc)(
struct Tracker_Windows *window,
int x, int y, int y2,
int where
),
struct Tracker_Windows *window,
int x, int y, int y2,
int where
);
void GFXST_BorderType2(
void (*GFX_P_OSFunc)(
struct Tracker_Windows *window,
int x, int y, int y2,
int where
),
struct Tracker_Windows *window,
int x, int y, int y2,
int where
);
#ifndef GFX_DONTSHRINK
#define GFX_FilledBox(a,b,c,d,e,f,g) GFXS_BoxType(QUEUE_GFX_FilledBox,a,b,c,d,e,f,g)
#define GFX_Box(a,b,c,d,e,f,g) GFXS_BoxType(QUEUE_GFX_Box,a,b,c,d,e,f,g)
#define GFX_Line(a,b,c,d,e,f,g) GFXS_LineType(QUEUE_GFX_Line,a,b,c,d,e,f,g)
#define GFX_Text(a,b,c,d,e,f,g,h) GFXS_TextType(QUEUE_GFX_Text,a,b,c,d,e,f,g,h)
#define GFX_DrawTrackBorderSingle(a,b,c,d,e) GFXS_BorderType(GFX_DrawTrackBorderSingle,a,b,c,d,e)
#define GFX_DrawTrackBorderDouble(a,b,c,d,e) GFXS_BorderType2(GFX_DrawTrackBorderDouble,a,b,c,d,e)
#define GFX_BitBlt(a,b,c,d,e,f,g) GFXS_BitBltType(QUEUE_GFX_BitBlt,a,b,c,d,e,f,g)
#define GFX_T_FilledBox(a,b,c,d,e,f,g) GFXST_BoxType(QUEUE_GFX_FilledBox,a,b,c,d,e,f,g)
#define GFX_T_Box(a,b,c,d,e,f,g) GFXST_BoxType(QUEUE_GFX_Box,a,b,c,d,e,f,g)
#define GFX_T_Line(a,b,c,d,e,f,g) GFXST_LineType(QUEUE_GFX_Line,a,b,c,d,e,f,g)
#define GFX_T_Text(a,b,c,d,e,f,g,h) GFXST_TextType(QUEUE_GFX_Text,a,b,c,d,e,f,g,h)
#define GFX_T_DrawTrackBorderSingle(a,b,c,d,e) GFXST_BorderType(GFX_DrawTrackBorderSingle,a,b,c,d,e)
#define GFX_T_DrawTrackBorderDouble(a,b,c,d,e) GFXST_BorderType2(GFX_DrawTrackBorderDouble,a,b,c,d,e)
#define GFX_SetMixColor QUEUE_GFX_SetMixColor
#define GFX_Polygon QUEUE_GFX_Polygon
#define GFX_Polyline QUEUE_GFX_Polyline
#define GFX_SetClipRect QUEUE_GFX_SetClipRect
#define GFX_CancelClipRect QUEUE_GFX_CancelClipRect
#endif
#endif
|