diff options
Diffstat (limited to 'Gui/win32/skinload.h')
-rw-r--r-- | Gui/win32/skinload.h | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/Gui/win32/skinload.h b/Gui/win32/skinload.h new file mode 100644 index 0000000000..3103539dc3 --- /dev/null +++ b/Gui/win32/skinload.h @@ -0,0 +1,213 @@ +/* + MPlayer Gui for win32 + Copyright (c) 2003 Sascha Sommer <saschasommer@freenet.de> + Copyright (c) 2006 Erik Augustson <erik_27can@yahoo.com> + Copyright (c) 2006 Gianluigi Tiesi <sherpya@netfarm.it> + + 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., 51 Franklin St, Fifth Floor, Boston, MA 02111-1307 USA +*/ + +#ifndef _SKINLOAD_H +#define _SKINLOAD_H + +typedef struct +{ + char *name; /* image name */ + int size; /* image data size in bytes */ + int width; /* image width */ + int height; /* image height */ + char *data; /* pointer to image data */ +} image; + +typedef struct +{ + char c; + int x; + int y; + int width; + int height; +} char_t; + +typedef struct +{ + char *name; + char *id; + image *image; + unsigned int charcount; + char_t **chars; +} font_t; + +typedef struct +{ + int id; /* widget id */ + int type; /* widget type */ + int window; /* the window it belongs to */ + // --- + int x, y; /* x and y position the button */ + int wx, wy; /* x and y postion of the widget */ + int width, height; /* width and height of the button */ + int wwidth, wheight; /* width and height of the widget */ + // --- + // --- + int msg, msg2; + int pressed, tmp; + int key, key2; + int phases; + float value; + image *bitmap[2]; /* Associated image(s) in imagepool */ + // --- + font_t *font; + int length; + int align; + char *label; + // --- + int event; +} widget; + +typedef struct +{ + char *name; + int decoration; + int type; + widget *base; + int backgroundcolor[3]; + void *priv; +} window; + +typedef struct skin_t skin_t; +struct skin_t +{ + char *skindir; + unsigned int widgetcount; /* number of widgets */ + unsigned int lastusedid; /* which widget id was used last */ + widget **widgets; /* widget handle */ + unsigned int imagecount; /* number of images */ + image **images; /* image handle */ + int desktopbpp; /* image format of those images */ + unsigned int fontcount; + font_t **fonts; + + unsigned int windowcount; /* number of windows */ + window **windows; + void (*freeskin)(skin_t* skin); + void (*addwidget)(skin_t *skin, window *win, const char *desc); + void (*removewidget)(skin_t *skin, int id); + char *(*geteventname)(int event); + image *(*pngRead)(skin_t *skin, unsigned char *fname); +}; + +extern skin_t *loadskin(char *skindir, int desktopbpp); + +// --- Widget types --- + +#define tyBase 1 +#define tyButton 2 +#define tyHpotmeter 3 +#define tyVpotmeter 4 +#define tyPotmeter 5 +#define tyMenu 6 +#define tySlabel 7 +#define tyDlabel 8 + +// --- Window types --- + +#define wiMain 1 +#define wiSub 2 +#define wiMenu 3 +#define wiPlaybar 4 + +// --- User events ------ + +#define evNone 0 +#define evPlay 1 +#define evStop 2 +#define evPause 3 +#define evPrev 6 +#define evNext 7 +#define evLoad 8 +#define evEqualizer 9 +#define evPlayList 10 +#define evIconify 11 +#define evAbout 12 +#define evLoadPlay 13 +#define evPreferences 14 +#define evSkinBrowser 15 +#define evPlaySwitchToPause 16 +#define evPauseSwitchToPlay 17 + +#define evBackward10sec 18 +#define evForward10sec 19 +#define evBackward1min 20 +#define evForward1min 21 +#define evBackward10min 22 +#define evForward10min 23 + +#define evNormalSize 24 +#define evDoubleSize 25 +#define evFullScreen 26 + +#define evSetMoviePosition 27 +#define evSetVolume 28 +#define evSetBalance 29 +#define evMute 30 + +#define evIncVolume 31 +#define evDecVolume 32 +#define evIncAudioBufDelay 33 +#define evDecAudioBufDelay 34 +#define evIncBalance 35 +#define evDecBalance 36 + +#define evHelp 37 + +#define evLoadSubtitle 38 +#define evDropSubtitle 43 +#define evPlayDVD 39 +#define evPlayVCD 40 +#define evPlayNetwork 41 +#define evLoadAudioFile 42 +#define evSetAspect 44 +#define evSetAudio 45 +#define evSetVideo 46 +#define evDropFile 47 +#define evPlayCD 48 + +#define evExit 1000 + +// --- General events --- + +#define evFileLoaded 5000 +#define evHideMouseCursor 5001 +#define evMessageBox 5002 +#define evGeneralTimer 5003 +#define evGtkIsOk 5004 +#define evShowPopUpMenu 5005 +#define evHidePopUpMenu 5006 +#define evSetDVDAudio 5007 +#define evSetDVDSubtitle 5008 +#define evSetDVDTitle 5009 +#define evSetDVDChapter 5010 +#define evSubtitleLoaded 5011 +#define evSetVCDTrack 5012 +#define evSetURL 5013 + +#define evFName 7000 +#define evMovieTime 7001 +#define evRedraw 7002 +#define evHideWindow 7003 +#define evShowWindow 7004 +#define evFirstLoad 7005 + +#endif |