123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #ifndef _NULLSOFT_WINAMP_ML_DEVICES_WIDGET_HEADER
- #define _NULLSOFT_WINAMP_ML_DEVICES_WIDGET_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #include <wtypes.h>
- #include "./widgetStyle.h"
- #define WIDGET_WINDOW_CLASS L"NullsoftDevicesWidget"
- typedef BOOL (*WidgetInitCallback)(HWND , void** , void* );
- typedef void (*WidgetDestroyCallback)(void* , HWND );
- typedef void (*WidgetLayoutCallback)(void* , HWND , WidgetStyle* , const RECT* , SIZE* , BOOL );
- typedef BOOL (*WidgetPaintCallback)(void* , HWND , WidgetStyle* , HDC , const RECT* , BOOL );
- typedef BOOL (*WidgetMessageCallback)(void* , HWND , unsigned int , WPARAM , LPARAM , LRESULT* );
- typedef void (*WidgetStyleCallback)(void* , HWND , WidgetStyle* );
- typedef BOOL (*WidgetMouseCallback)(void* , HWND , unsigned int , const POINT* );
- typedef INT (*WidgetInputCallback)(void* , HWND , unsigned int , MSG* );
- typedef BOOL (*WidgetKeyCallback)(void* , HWND , unsigned int , unsigned int );
- typedef void (*WidgetFocusCallback)(void* , HWND , HWND , BOOL );
- typedef BOOL (*WidgetMenuCallback)(void* , HWND , HWND , const POINT* );
- typedef void (*WidgetZoomCallback)(void* , HWND , NMTRBTHUMBPOSCHANGING* );
- typedef void (*WidgetScrollCallback)(void* , HWND , int* , int* );
- typedef BOOL (*WidgetNotifyCallback)(void* , HWND , NMHDR* , LRESULT* );
- typedef BOOL (*WidgetHelpCallback)(void* , HWND , wchar_t* , size_t );
- typedef struct WidgetInterface
- {
- WidgetInitCallback init;
- WidgetDestroyCallback destroy;
- WidgetLayoutCallback layout;
- WidgetPaintCallback paint;
- WidgetStyleCallback styleColorChanged;
- WidgetStyleCallback styleFontChanged;
- WidgetMouseCallback mouseMove;
- WidgetMouseCallback leftButtonDown;
- WidgetMouseCallback leftButtonUp;
- WidgetMouseCallback leftButtonDblClk;
- WidgetMouseCallback rightButtonDown;
- WidgetMouseCallback rightButtonUp;
- WidgetKeyCallback keyDown;
- WidgetKeyCallback keyUp;
- WidgetKeyCallback character;
- WidgetInputCallback inputRequest;
- WidgetFocusCallback focusChanged;
- WidgetMenuCallback contextMenu;
- WidgetZoomCallback zoomChanging;
- WidgetScrollCallback scrollBefore;
- WidgetScrollCallback scroll;
- WidgetNotifyCallback notify;
- WidgetHelpCallback help;
- WidgetMessageCallback messageProc;
- } WidgetInterface;
- HWND
- Widget_CreateWindow(unsigned int type,
- const WidgetInterface *callbacks,
- const wchar_t *text,
- unsigned long windowExStyle,
- unsigned long windowStyle,
- int x,
- int y,
- int width,
- int height,
- HWND parentWindow,
- unsigned int controlId,
- void *param);
- #define WIDGET_WM_FIRST (WM_USER + 10)
- #define WIDGET_WM_GET_TYPE (WIDGET_WM_FIRST + 0)
- #define WIDGET_GET_TYPE( _hwnd)\
- ((unsigned int)SendMessageW((_hwnd), WIDGET_WM_GET_TYPE, 0, 0L))
- #define WIDGET_WM_GET_SELF (WIDGET_WM_FIRST + 1)
- #define WIDGET_GET_SELF( _hwnd, _type)\
- ((_type*)SendMessageW((_hwnd), WIDGET_WM_GET_SELF, 0, 0L))
- #define WIDGET_WM_SET_STYLE (WIDGET_WM_FIRST + 2)
- #define WIDGET_SET_STYLE( _hwnd, _style)\
- ((BOOL)SendMessageW((_hwnd), WIDGET_WM_SET_STYLE, 0, (LPARAM)(_style)))
- #define WIDGET_WM_GET_STYLE (WIDGET_WM_FIRST + 3)
- #define WIDGET_GET_STYLE( _hwnd)\
- ((WidgetStyle*)SendMessageW((_hwnd), WIDGET_WM_GET_STYLE, 0, 0L))
- #define WIDGET_WM_STYLE_COLOR_CHANGED (WIDGET_WM_FIRST + 4)
- #define WIDGET_STYLE_COLOR_CHANGED( _hwnd)\
- (SendMessageW((_hwnd), WIDGET_WM_STYLE_COLOR_CHANGED, 0, 0L))
- #define WIDGET_WM_STYLE_FONT_CHANGED (WIDGET_WM_FIRST + 5)
- #define WIDGET_STYLE_FONT_CHANGED( _hwnd)\
- (SendMessageW((_hwnd), WIDGET_WM_STYLE_FONT_CHANGED, 0, 0L))
- #define WIDGET_WM_FREEZE (WIDGET_WM_FIRST + 6)
- #define WIDGET_FREEZE( _hwnd)\
- (SendMessageW((_hwnd), WIDGET_WM_FREEZE, TRUE, 0L))
- #define WIDGET_THAW( _hwnd)\
- (SendMessageW((_hwnd), WIDGET_WM_FREEZE, FALSE, 0L))
- #define WIDGET_WM_SET_SCROLL_POS (WIDGET_WM_FIRST + 7)
- #define WIDGET_SET_SCROLL_POS( _hwnd, _dx, _dy, _redraw)\
- (SendMessageW((_hwnd), WIDGET_WM_SET_SCROLL_POS, (WPARAM)(_redraw), MAKELPARAM((_dx), (_dy))))
- #define WIDGET_WM_SCROLL (WIDGET_WM_FIRST + 8)
- #define WIDGET_SCROLL( _hwnd, _dx, _dy, _redraw)\
- ((BOOL)SendMessageW((_hwnd), WIDGET_WM_SCROLL, (WPARAM)(_redraw), MAKELPARAM((_dx), (_dy))))
- #define WIDGET_WM_ZOOM_SLIDER_POS_CHANGING (WIDGET_WM_FIRST + 9)
- #define WIDGET_ZOOM_SLIDER_POS_CHANGING( _hwnd, _sliderInfo)\
- ((BOOL)SendMessageW((_hwnd), WIDGET_WM_ZOOM_SLIDER_POS_CHANGING, 0, (LPARAM)(_sliderInfo)))
- #define WIDGET_WM_ENABLE_CHILDREN_SCROLL (WIDGET_WM_FIRST + 10)
- #define WIDGET_ENABLE_CHILDREN_SCROLL( _hwnd, _enable)\
- ((BOOL)SendMessageW((_hwnd), WIDGET_WM_ENABLE_CHILDREN_SCROLL, 0, (LPARAM)(_enable)))
- #define WIDGET_WM_GET_CHILDREN_SCROLL_ENABLED (WIDGET_WM_FIRST + 11)
- #define WIDGET_GET_CHILDREN_SCROLL_ENABLED( _hwnd)\
- ((BOOL)SendMessageW((_hwnd), WIDGET_WM_GET_CHILDREN_SCROLL_ENABLED, 0, 0L))
- #define WIDGET_WM_GET_HELP_URL (WIDGET_WM_FIRST + 12)
- #define WIDGET_GET_HELP_URL( _hwnd, _buffer, _bufferMax)\
- ((BOOL)SendMessageW((_hwnd), WIDGET_WM_GET_HELP_URL, (WPARAM)(_bufferMax), (LPARAM)(_buffer)))
- #endif
|