gambas-source-code/gb.gtk/src/gdrawingarea.h
Benoît Minisini de959789e0 [GB.FORM.MDI]
* NEW: Little design fix in the shortcut configuration dialog.

[GB.GTK]
* NEW: Management of tablet events. At the moment only the DrawingArea 
  control can catch them if its UseTablet property is TRUE. In that case,
  standard mouse events are raised, and the properties of the tablet event 
  are stored in the new Pointer class. All that is not definitive.

[GB.QT4]
* NEW: Management of tablet events. At the moment only the DrawingArea 
  control can catch them if its UseTablet property is TRUE. In that case,
  standard mouse events are raised, and the properties of the tablet event 
  are stored in the new Pointer class. All that is not definitive.


git-svn-id: svn://localhost/gambas/trunk@5024 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-09 23:39:29 +00:00

75 lines
2 KiB
C++

/***************************************************************************
gdrawingarea.h
(c) 2000-2012 Benoît Minisini <gambas@users.sourceforge.net>
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 2, 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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.
***************************************************************************/
#ifndef __GDRAWINGAREA_H
#define __GDRAWINGAREA_H
class gDrawingArea : public gContainer
{
public:
gDrawingArea(gContainer *parent);
~gDrawingArea();
int getBorder() const { return getFrameBorder(); }
bool cached() const { return _cached; }
bool hasNoBackground() const { return _no_background; }
bool useTablet() const { return _use_tablet; }
void setBorder(int vl) { setFrameBorder(vl); }
void setCached(bool vl);
void setNoBackground(bool vl);
void setUseTablet(bool vl);
bool inDrawEvent() const { return _in_draw_event; }
//"Methods"
void clear();
virtual void resize(int w, int h);
virtual void setEnabled(bool vl);
virtual void setRealBackground(gColor color);
//"Events"
void (*onExpose)(gDrawingArea *sender,int x,int y,int w,int h);
//"Private"
void init();
void create();
void updateCache();
void resizeCache();
void refreshCache();
void updateEventMask();
void setCache();
void updateUseTablet();
GdkPixmap *buffer;
GtkWidget *box;
uint _event_mask;
uint _old_bg_id;
unsigned _cached : 1;
unsigned _resize_cache : 1;
unsigned _in_draw_event : 1;
unsigned _no_background : 1;
unsigned _use_tablet : 1;
};
#endif