Skip to content
Snippets Groups Projects
Commit 820da77d authored by Susan Farley's avatar Susan Farley Committed by Alexandre Julliard
Browse files

Defer to standard scrolling APIs for non-flatSB specific functions so

that flatSBs show up and behave properly, just not with flat properties.
parent c5384f14
No related branches found
No related tags found
No related merge requests found
......@@ -16,6 +16,7 @@
*/
#include "winbase.h"
#include "winerror.h"
#include "commctrl.h"
#include "flatsb.h"
#include "debugtools.h"
......@@ -27,128 +28,154 @@ DEFAULT_DEBUG_CHANNEL(commctrl)
/***********************************************************************
* FlatSB_EnableScrollBar
* InitializeFlatSB
*
* returns nonzero if successful, zero otherwise
*
*/
BOOL WINAPI
FlatSB_EnableScrollBar(HWND hwnd, INT dummy, UINT dummy2)
BOOL WINAPI InitializeFlatSB(HWND hwnd)
{
TRACE("[%04x]\n", hwnd);
FIXME("stub\n");
return 0;
return FALSE;
}
/***********************************************************************
* FlatSB_ShowScrollBar
* UninitializeFlatSB
*
* returns:
* E_FAIL if one of the scroll bars is currently in use
* S_FALSE if InitializeFlatSB was never called on this hwnd
* S_OK otherwise
*
*/
BOOL WINAPI
FlatSB_ShowScrollBar(HWND hwnd, INT code, BOOL flag)
HRESULT WINAPI UninitializeFlatSB(HWND hwnd)
{
TRACE("[%04x]\n", hwnd);
FIXME("stub\n");
return 0;
return S_FALSE;
}
/***********************************************************************
* FlatSB_GetScrollRange
* FlatSB_GetScrollProp
*
* Returns nonzero if successful, or zero otherwise. If index is WSB_PROP_HSTYLE,
* the return is nonzero if InitializeFlatSB has been called for this window, or
* zero otherwise.
*
*/
BOOL WINAPI
FlatSB_GetScrollRange(HWND hwnd, INT code, LPINT min, LPINT max)
FlatSB_GetScrollProp(HWND hwnd, INT propIndex, LPINT prop)
{
TRACE("[%04x] propIndex=%d\n", hwnd, propIndex);
FIXME("stub\n");
return 0;
return FALSE;
}
/***********************************************************************
* FlatSB_GetScrollInfo
* FlatSB_SetScrollProp
*/
BOOL WINAPI
FlatSB_GetScrollInfo(HWND hwnd, INT code, LPSCROLLINFO info)
FlatSB_SetScrollProp(HWND hwnd, UINT index, INT newValue, BOOL flag)
{
TRACE("[%04x] index=%u newValue=%d flag=%d\n", hwnd, index, newValue, flag);
FIXME("stub\n");
return 0;
return FALSE;
}
/***********************************************************************
* FlatSB_GetScrollPos
* From the Microsoft docs:
* "If flat scroll bars haven't been initialized for the
* window, the flat scroll bar APIs will defer to the corresponding
* standard APIs. This allows the developer to turn flat scroll
* bars on and off without having to write conditional code."
*
* So, if we just call the standard functions until we implement
* the flat scroll bar functions, flat scroll bars will show up and
* behave properly, as though they had simply not been setup to
* have flat properties.
*
* Susan <sfarley@codeweavers.com>
*
*/
INT WINAPI
FlatSB_GetScrollPos(HWND hwnd, INT code)
/***********************************************************************
* FlatSB_EnableScrollBar
*/
BOOL WINAPI
FlatSB_EnableScrollBar(HWND hwnd, int nBar, UINT flags)
{
FIXME("stub\n");
return 0;
return EnableScrollBar(hwnd, nBar, flags);
}
/***********************************************************************
* FlatSB_GetScrollProp
* FlatSB_ShowScrollBar
*/
BOOL WINAPI
FlatSB_GetScrollProp(HWND hwnd, INT propIndex, LPINT prop)
FlatSB_ShowScrollBar(HWND hwnd, int nBar, BOOL fShow)
{
FIXME("stub\n");
return 0;
return ShowScrollBar(hwnd, nBar, fShow);
}
/***********************************************************************
* FlatSB_SetScrollPos
* FlatSB_GetScrollRange
*/
INT WINAPI
FlatSB_SetScrollPos(HWND hwnd, INT code, INT pos, BOOL fRedraw)
BOOL WINAPI
FlatSB_GetScrollRange(HWND hwnd, int nBar, LPINT min, LPINT max)
{
FIXME("stub\n");
return 0;
return GetScrollRange(hwnd, nBar, min, max);
}
/***********************************************************************
* FlatSB_SetScrollInfo
* FlatSB_GetScrollInfo
*/
INT WINAPI
FlatSB_SetScrollInfo(HWND hwnd, INT code, LPSCROLLINFO info, BOOL fRedraw)
BOOL WINAPI
FlatSB_GetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info)
{
FIXME("stub\n");
return 0;
return GetScrollInfo(hwnd, nBar, info);
}
/***********************************************************************
* FlatSB_SetScrollRange
* FlatSB_GetScrollPos
*/
INT WINAPI
FlatSB_SetScrollRange(HWND hwnd, INT code, INT min, INT max, BOOL fRedraw)
FlatSB_GetScrollPos(HWND hwnd, int nBar)
{
FIXME("stub\n");
return 0;
return GetScrollPos(hwnd, nBar);
}
/***********************************************************************
* FlatSB_SetScrollProp
* FlatSB_SetScrollPos
*/
BOOL WINAPI
FlatSB_SetScrollProp(HWND hwnd, UINT index, INT newValue, BOOL flag)
INT WINAPI
FlatSB_SetScrollPos(HWND hwnd, int nBar, INT pos, BOOL bRedraw)
{
FIXME("stub\n");
return 0;
return SetScrollPos(hwnd, nBar, pos, bRedraw);
}
/***********************************************************************
* InitializeFlatSB
* FlatSB_SetScrollInfo
*/
BOOL WINAPI InitializeFlatSB(HWND hwnd)
INT WINAPI
FlatSB_SetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info, BOOL bRedraw)
{
FIXME("stub\n");
return 0;
return SetScrollInfo(hwnd, nBar, info, bRedraw);
}
/***********************************************************************
* UninitializeFlatSB
* FlatSB_SetScrollRange
*/
HRESULT WINAPI UninitializeFlatSB(HWND hwnd)
INT WINAPI
FlatSB_SetScrollRange(HWND hwnd, int nBar, INT min, INT max, BOOL bRedraw)
{
FIXME("stub\n");
return 0;
return SetScrollRange(hwnd, nBar, min, max, bRedraw);
}
static LRESULT
FlatSB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
TRACE("[%04x] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
return 0;
}
......@@ -156,18 +183,16 @@ FlatSB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
static LRESULT
FlatSB_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
TRACE("[%04x] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
return 0;
}
static LRESULT WINAPI
FlatSB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
return FlatSB_Create (hwnd, wParam, lParam);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment