blob: 000427da89f18df573b13cc55e8ac0933fc45ef3 [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/******************************************************************************
2*(C) Copyright 2014 Marvell International Ltd.
3* All Rights Reserved
4******************************************************************************/
5/*******************************************************************************
6 *
7 * Filename: Button.h
8 *
9 * Authors: Boaz Sommer
10 *
11 * Description: An Button class
12 *
13 * HISTORY:
14 *
15 *
16 *
17 * Notes:
18 *
19 ******************************************************************************/
20#ifndef __BUTTON_H__
21#define __BUTTON_H__
22
23#include "Object.h"
24
25typedef void * BUTTON;
26typedef void (*ButtonOnClickHandler)(int event, void *data);
27typedef struct _ButtonOnClickParams
28{
29 ButtonOnClickHandler cb;
30 void *cb_data;
31 int event;
32} ButtonOnClickParams;
33
34#ifdef __cplusplus
35 extern "C" {
36#endif
37BUTTON *ButtonInit (void *dfb);
38void ButtonDeinit (BUTTON *pt);
39void ButtonSetArray (BUTTON *pt, const IMAGE_ARRAY_ITEM *array, int size);
40void ButtonSetFromArray (BUTTON *pt, int key);
41void ButtonSetup (BUTTON *pt, int lx, int ly);
42void ButtonSetup2 (BUTTON *pt, OBJECT_RECT rect);
43void ButtonDraw (BUTTON *pt);
44void ButtonSetupOnClick (BUTTON *pt, ButtonOnClickParams *onClick);
45void ButtonGetGeometry (BUTTON pt, OBJECT_RECT *rect);
46int ButtonGetWidth (BUTTON *pt);
47int ButtonGetHeight (BUTTON *pt);
48void ButtonSetText (BUTTON *pt, const char *text, const char *font_path);
49#ifdef __cplusplus
50 }
51#endif
52
53#endif //__BUTTON_H__
54