WindowBlinds UIS2 Titlebar Plugin SDK Documentation


WindowBlinds 0.80 introduces a new tool for skin designers to use.  This is the UIS2 titlebar plugin interface. 

Using this SDK and a suitable compiler, a programmer can create an item which can be used as a WindowBlinds button. 

The SDK comes supplied with the source to the clock module which displays the time in the titlebar.  This module also shows how a module can alter WindowBlinds own internal data structures.  The fading effect is done by altering the alpha value at runtime. (As a side note, any application could use the functions defined later on to modify the WB structures)

WindowBlinds exports a large number of functions just for these modules to use.  A module can even move other buttons around when it wants!
 

Functions Exported
 

LPSTR GetUIS()
- This gets the filename of the UIS2 personality currently in use.  This is the FULL path
LPSTR GetWBDIR()
- This obtains the WindowBlinds directory
 
The next set of functions take 2 parameters as follows  (int button_number, int new_value)

SetButtonAlpha 
SetButtonX 
SetButtonY 
SetButtonAlign 
SetButtonVisibility
SetButtonWidth 
SetButtonHeight 
SetButtonAction 
 

This function just returns the number of defined buttons

GetButtonCount();

The next set of functions take the button number as the only parameter and return the value.

GetButtonAlpha 
GetButtonX 
GetButtonY 
GetButtonAlign 
GetButtonVisibility 
GetButtonWidth 
GetButtonHeight 
GetButtonAction 

ProcessWindowChanger( 0, 0, 0, hWnd)

- This can be used to force WindowBlinds to redraw the window border

It is an alternative to SendMessage(hwnd, WM_NULL, 600, 321);

ExecCommand ( HWND hWnd, 0, int button_number, 0, 0, 0)
- This function can be used to simulate a click on a button.  button_number is the button in question.

BE WARNED.  If you decide you wish to make your plugin do the rollup function, then you can set the type of the current button to that of the rollup button.  Then do an ExecCommand on it.  BUT you MUST remember to reset the type to -3 before finishing your handler rountine, as without doing that your dll will never get called again.