summaryrefslogtreecommitdiffstats
path: root/menu_demo/button.h
diff options
context:
space:
mode:
Diffstat (limited to 'menu_demo/button.h')
-rw-r--r--menu_demo/button.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/menu_demo/button.h b/menu_demo/button.h
index 77d365e..3103a5d 100644
--- a/menu_demo/button.h
+++ b/menu_demo/button.h
@@ -1,14 +1,29 @@
#ifndef _CBUTTON_H
#define _CBUTTON_H
+#include "bitmap.h"
+
#define BUTTON_MAX_TITLE 256
+#define BUTTON_MAX_IMGS 3
+#define BUTTON_CLICK_HEIGHT 49
struct ButtonStruct {
- double m_dXPos;
- double m_dYPos;
- double m_dWidth;
+ double m_dXPos; // x positie
+ double m_dYPos; // y positie
+ double m_dCenterWidth; // breedte van middenstuk
+ double m_dWidth; // totale breedte
+ double m_dHeight; // totale hoogte
+ int m_bPressed; // pressed or not
+ int m_bHover; // mouse hovering or not
+ int m_iType; // button type
+
+ // button caption/title
char m_pcTitle[BUTTON_MAX_TITLE];
- int m_iType;
+
+ // button images
+ struct ImageStruct m_piImgNormal[BUTTON_MAX_IMGS];
+ struct ImageStruct m_piImgHover[BUTTON_MAX_IMGS];
+ struct ImageStruct m_piImgPressed[BUTTON_MAX_IMGS];
};
enum ButtonType {
@@ -17,6 +32,8 @@ enum ButtonType {
BUTTON_LABEL
};
+struct ButtonStruct ButtonCreate(double f_dXPos, double f_dYPos, double f_dWidth, char *f_pcTitle, int f_iType);
void ButtonRender(struct ButtonStruct *f_sButton);
+void ButtonHover(struct ButtonStruct *f_sButton);
#endif