123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef DIALOGSKINNERH
- #define DIALOGSKINNERH
- #include "MediaLibraryInterface.h"
- #include "../winamp/wa_dlg.h"
- COLORREF GetHTMLColor( int color );
- class DialogSkinner
- {
- typedef HBITMAP( *BitmapFunc )( );
- typedef int ( *ColorFunc )( int idx ); // pass this an index, returns a RGB value (passing 0 or > 3 returns NULL)
- typedef int ( *HandleFunc )( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam );
- typedef void ( *DrawFunc )( HWND hwndDlg, int *tab, int tabsize ); // each entry in tab would be the id | DCW_*
-
- public:
- DialogSkinner()
- {}
- int Color( int index )
- {
- if ( !color )
- color = (ColorFunc)mediaLibrary.GetWADLGFunc( 1 );
- return color( index );
- }
- RGBQUAD GetRGB( int index )
- {
- COLORREF color = Color( index );
- RGBQUAD rgb;
- rgb.rgbReserved = 0;
- rgb.rgbBlue = GetBValue( color );
- rgb.rgbGreen = GetGValue( color );
- rgb.rgbRed = GetRValue( color );
- return rgb;
- }
- INT_PTR Handle( HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam )
- {
- if ( !handle )
- handle = (HandleFunc)mediaLibrary.GetWADLGFunc( 2 );
- return handle( dlg, msg, wParam, lParam );
- }
- void Draw( HWND dlg, int *tab, int tabSize )
- {
- if ( !draw )
- draw = (DrawFunc)mediaLibrary.GetWADLGFunc( 3 );
- draw( dlg, tab, tabSize );
- }
- HFONT GetFont()
- {
- return (HFONT)mediaLibrary.GetWADLGFunc( 66 );
- }
- HBITMAP GetBitmap()
- {
- if ( !bitmap )
- bitmap = (BitmapFunc)mediaLibrary.GetWADLGFunc( 4 );
- return bitmap();
- }
- ColorFunc color = 0;
- HandleFunc handle = 0;
- DrawFunc draw = 0;
- BitmapFunc bitmap = 0;
- };
- extern DialogSkinner dialogSkinner;
- #endif
|