libcdos-fw
CFImageButton.h
1 #ifndef __CF_IMAGE_BUTTON_H__
2 #define __CF_IMAGE_BUTTON_H__
3 
4 #include <Gui/CFDrawingArea.h>
5 #include <Gui/CFStateImage.h>
6 
7 CF_NAMESPACE_BEGIN
8 
9 class CFImageButton : public CFDrawingArea {
10 public:
11  explicit CFImageButton();
12 
13  void setStateImage(const StateImage& stImage);
14  void setCornerRadius(uint32_t radius);
15 
16  sigc::signal<void> signalClicked();
17 
18 private:
19  bool onImageButtonRealDraw(const ::Cairo::RefPtr<::Cairo::Context>& cr);
20  bool onEventReceived(GdkEvent* event);
21  bool checkPointInside(int x, int y);
22 
23 private:
24  StateImage m_stImage;
25  StateImage::State m_currentSt;
26  sigc::signal<void> m_clickedSignal;
27  uint32_t m_cornerRadius;
28  uint32_t m_realCornerRd;
29  int m_realWidth;
30  int m_realHeight;
31 };
32 
33 CF_NAMESPACE_END
34 
35 #endif // __CF_IMAGE_BUTTON_H__
Definition: CFStateImage.h:10
Definition: CFDrawingArea.h:8
Definition: CFImageButton.h:9