qwt_plot_canvas.h

00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  * 
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 // vim: expandtab
00011 
00012 #ifndef QWT_PLOT_CANVAS_H
00013 #define QWT_PLOT_CANVAS_H
00014 
00015 #include <qframe.h>
00016 #include <qpen.h>
00017 #include "qwt_global.h"
00018 
00019 class QwtPlot;
00020 class QPixmap;
00021 
00028 class QWT_EXPORT QwtPlotCanvas : public QFrame
00029 {
00030     Q_OBJECT
00031     friend class QwtPlot;
00032 
00033 public:
00034 
00056     enum PaintAttribute
00057     {
00058         PaintCached = 1,
00059         PaintPacked = 2
00060     };
00061 
00080     enum FocusIndicator
00081     {
00082         NoFocusIndicator,
00083         CanvasFocusIndicator,
00084         ItemFocusIndicator
00085     };
00086 
00087     void setFocusIndicator(FocusIndicator);
00088     FocusIndicator focusIndicator() const;
00089 
00090     void setPaintAttribute(PaintAttribute, bool on = true);
00091     bool testPaintAttribute(PaintAttribute) const;
00092 
00093     QPixmap *paintCache();
00094     const QPixmap *paintCache() const;
00095     void invalidatePaintCache();
00096 
00097 protected:
00098     explicit QwtPlotCanvas(QwtPlot *);
00099     virtual ~QwtPlotCanvas();
00100 
00101     virtual void hideEvent(QHideEvent *);
00102 
00103     virtual void paintEvent(QPaintEvent *);
00104 
00105     virtual void drawContents(QPainter *);
00106     virtual void drawFocusIndicator(QPainter *);
00107 
00108     void drawCanvas(QPainter *painter = NULL);
00109 
00110 private:    
00111     void setSystemBackground(bool);
00112 
00113     class PrivateData;
00114     PrivateData *d_data;
00115 };
00116 
00117 #endif

Generated on Mon Feb 26 21:22:37 2007 for Qwt User's Guide by  doxygen 1.4.6