sdk-hwV1.3/external/eyesee-mpp/dragonboard/include/V5CDRTP/minigui/ctrl/scrollbar.h

328 lines
7.9 KiB
C
Executable File

/**
* \file scrollbar.h
* \author wangjian
* \date 2008/01/17
*
\verbatim
This file is part of MiniGUI, a mature cross-platform windowing
and Graphics User Interface (GUI) support system for embedded systems
and smart IoT devices.
Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd.
Copyright (C) 1998~2002, WEI Yongming
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 3 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, see <http://www.gnu.org/licenses/>.
Or,
As this program is a library, any link to this program must follow
GNU General Public License version 3 (GPLv3). If you cannot accept
GPLv3, you need to be licensed from FMSoft.
If you have got a commercial license of this program, please use it
under the terms and conditions of the commercial license.
For more information about the commercial license, please refer to
<http://www.minigui.com/en/about/licensing-policy/>.
\endverbatim
*/
/*
* $Id: scrollbar.h 10690 2008-08-18 09:32:47Z weiym $
*
* MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
* pSOS, ThreadX, NuCleus, OSE, and Win32.
*/
#ifndef _MGUI_CTRL_SCROLLBAR_H
#define _MGUI_CTRL_SCROLLBAR_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/**
* \addtogroup controls
* @{
*/
/**
* \defgroup ctrl_scrollbar ScrollBar control
*
* \note The scrollbar is not implemented as a control in current version.
* @{
*/
/**
* \def CTRL_SCROLLBAR
* \brief The class name of scrollbar control.
*/
#define CTRL_SCROLLBAR ("scrollbar")
/**
* \defgroup ctrl_scrollbar_styles Styles of scrollbar control
* @{
*/
/**
* \def SBS_HORZ
* \brief Create a horizontal scrollbar.
*/
#define SBS_HORZ 0x1000
/**
* \def SBS_VERT
* \brief Create a vertical scrollbar.
*/
#define SBS_VERT 0x2000
/**
* \def SBS_BOTTOMALIGN
* \brief Create a horizontal scrollbar on the bottom of the rect.
*
* \note This style must be used together with SBS_HORZ, and the height of the
* scrollbar will depend on the window elements or renderer.
*/
#define SBS_BOTTOMALIGN 0x0001
/**
* \def SBS_TOPALIGN
* \brief Create a horizontal scrollbar on the top of the rect.
*
* \note This style must be used together with SBS_HORZ, and the height of the
* scrollbar will depend on the window elements or renderer.
*/
#define SBS_TOPALIGN 0x0002
/**
* \def SBS_LEFTALIGN
* \brief Create a vertical scrollbar on the left of the rect.
*
* \note This style must be used together with SBS_VERT, and the width of the
* scrollbar will depend on the window elements or renderer.
*/
#define SBS_LEFTALIGN 0x0001
/**
* \def SBS_RIGHTALIGN
* \brief Create a vertical scrollbar on the right of the rect.
*
* \note This style must be used together with SBS_VERT, and the width of the
* scrollbar will depend on the window elements or renderer.
*/
#define SBS_RIGHTALIGN 0x0002
/**
* \def SBS_NOARROW
* \brief Create a vertical scrollbar with no arrow.
*
* \note This style must't be used together with SBS_NOSHAFT.
*/
#define SBS_NOARROW 0x0004
/**
* \def SBS_NOSHAFT
* \brief Create a vertical scrollbar with no shaft.
*
* \note This style must't be used together with SBS_NOARROWS.
*/
#define SBS_NOSHAFT 0x0008
/**
* \def SBS_FIXEDBARLEN
* \brief Create a scrollbar with fixed thumb.
*
*/
#define SBS_FIXEDBARLEN 0x0010
/**
* \def SBS_NOTNOTIFYPARENT
* \brief send notification code with SendNotifyMessage instead of NotifyParent
*
*/
#define SBS_NOTNOTIFYPARENT 0x0020
/** @} end of ctrl_scrollbar_styles */
/**
* \defgroup ctrl_scrollbar_msgs Messages of scrollbar control
* @{
*/
/**
* \def SBM_GETSCROLLINFO
* \brief Get the scroll information of the scrollbar.
*
*/
#define SBM_GETSCROLLINFO 0xF0E0
/**
* \def SBM_SETSCROLLINFO
* \brief Set the scroll information of the scrollbar.
*/
#define SBM_SETSCROLLINFO 0xF0E1
/**
* \def SBM_GETPOS
* \brief Get the thumb pos of the scrollbar.
*
* An application sends a SBM_GETPOS message to get the start position
* of the scrollbar thumb.
*
* \code
* SBM_GETPOS
* int pos;
*
* pos = SendMessage (hwnd_scrollbar, SBM_GETPOS, 0, 0);
* \endcode
*
* \return the postion of the thumb.
*/
#define SBM_GETPOS 0xF0E2
/**
* \def SBM_SETPOS
* \brief Set the thumb pos of the scrollbar.
*
* An application sends a SBM_SETPOS message to set the start position
* of the scrollbar thumb.
*
* \code
* SBM_SETPOS
* int pos = 10;
* BOOL redraw = TRUE;
*
* wParam = (WPARAM)pos;
* lParam = (LPARAM)redraw;
* SendMessage (hwnd_scrollbar, SBM_SETPOS, wParam, lParam);
* \endcode
*
* \param pos The new positon of the thumb to set.
* \param redraw Whether to repaint the control, TRUE for repaint, FALSE for not.
*
* \return the old postion of the thumb.
*/
#define SBM_SETPOS 0xF0E3
/**
* \def SBM_GETRANGE
* \brief Get the range of the scrollbar.
*
* An application sends a SBM_GETRANGE message to get the move
* range of the scrollbar.
*
* \code
* SBM_GETRANGE
* int range;
*
* range = SendMessage (hwnd_scrollbar, SBM_GETRANGE, 0, 0);
* \endcode
*
* \return the range of the scrollbar.
*/
#define SBM_GETRANGE 0xF0E4
/**
* \def SBM_SETRANGE
* \brief Set the range of the scrollbar.
*
* An application sends a SBM_SETRANGE message to set the move
* range of the scrollbar.
*
* \code
* SBM_SETRANGE
* int min = 0;
* int max = 100;
*
* wParam = (WPARAM)min;
* lParam = (LPARAM)max;
* SendMessage (hwnd_scrollbar, SBM_SETRANGE, wParam, lParam);
* \endcode
*
* \param min The minimum value of the range to set.
* \param max The maximum value of the range to set.
*
* \note this message will not redraw the control.
*/
#define SBM_SETRANGE 0xF0E5
/**
* \def SBM_SETRANGEREDRAW
* \brief Set the range of the scrollbar.
*
* An application sends a SBM_SETRANGEREDRAW message to set the move
* range of the scrollbar and redraw the control.
*
* \code
* SBM_SETRANGEREDRAW
* int min = 0;
* int max = 100;
*
* wParam = (WPARAM)min;
* lParam = (LPARAM)max;
* SendMessage (hwnd_scrollbar, SBM_SETRANGEREDRAW, wParam, lParam);
* \endcode
*
* \param min The minimum value of the range to set.
* \param max The maximum value of the range to set.
*
* \note this message will redraw the control.
*/
#define SBM_SETRANGEREDRAW 0xF0E6
/**
* \def SBM_ENABLE_ARROW
* \brief Enable or disable the arrow of the scrollbar.
*
* An application sends a SBM_ENABLE_ARROW message to enable or disable
* the arrow button of the scrollbar.
*
* \code
* SBM_ENABLE_ARROW
* int which = SB_ARROW_LTUP;
* BOOL is_active;
*
* wParam = (WPARAM)which;
* lParam = (LPARAM)is_active;
* SendMessage (hwnd_scrollbar, SBM_ENABLE_ARROW, wParam, lParam);
* \endcode
*
* \param which the part of the scrollbar to enable or disable,
* can be one of the follow value:
* - SB_ARROW_LTUP\n
* the left or up arrow button.
* - SB_ARROW_BTDN\n
* the right or down arrow button.
* - SB_ARROW_BOTH\n
* all the arrow button.
* \param is_active TRUE for enable ,FALSE for disable.
*
*/
#define SBM_ENABLE_ARROW 0xF0E7
/** @} end of ctrl_scrollbar_msgs */
/** @} end of ctrl_scrollbar */
/** @} end of controls */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _MGUI_CTRL_SCROLLBAR_H */