| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/bannerwindow.h
 
- // Purpose:     wxBannerWindow class declaration
 
- // Author:      Vadim Zeitlin
 
- // Created:     2011-08-16
 
- // Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_BANNERWINDOW_H_
 
- #define _WX_BANNERWINDOW_H_
 
- #include "wx/defs.h"
 
- #if wxUSE_BANNERWINDOW
 
- #include "wx/bitmap.h"
 
- #include "wx/event.h"
 
- #include "wx/window.h"
 
- class WXDLLIMPEXP_FWD_CORE wxBitmap;
 
- class WXDLLIMPEXP_FWD_CORE wxColour;
 
- class WXDLLIMPEXP_FWD_CORE wxDC;
 
- extern WXDLLIMPEXP_DATA_ADV(const char) wxBannerWindowNameStr[];
 
- // ----------------------------------------------------------------------------
 
- // A simple banner window showing either a bitmap or text.
 
- // ----------------------------------------------------------------------------
 
- class WXDLLIMPEXP_ADV wxBannerWindow : public wxWindow
 
- {
 
- public:
 
-     // Default constructor, use Create() later.
 
-     wxBannerWindow() { Init(); }
 
-     // Convenient constructor that should be used in the majority of cases.
 
-     //
 
-     // The banner orientation changes how the text in it is displayed and also
 
-     // defines where is the bitmap truncated if it's too big to fit but doesn't
 
-     // do anything for the banner position, this is supposed to be taken care
 
-     // of in the usual way, e.g. using sizers.
 
-     wxBannerWindow(wxWindow* parent, wxDirection dir = wxLEFT)
 
-     {
 
-         Init();
 
-         Create(parent, wxID_ANY, dir);
 
-     }
 
-     // Full constructor provided for consistency with the other classes only.
 
-     wxBannerWindow(wxWindow* parent,
 
-                    wxWindowID winid,
 
-                    wxDirection dir = wxLEFT,
 
-                    const wxPoint& pos = wxDefaultPosition,
 
-                    const wxSize& size = wxDefaultSize,
 
-                    long style = 0,
 
-                    const wxString& name = wxBannerWindowNameStr)
 
-     {
 
-         Init();
 
-         Create(parent, winid, dir, pos, size, style, name);
 
-     }
 
-     // Can be only called on objects created with the default constructor.
 
-     bool Create(wxWindow* parent,
 
-                 wxWindowID winid,
 
-                 wxDirection dir = wxLEFT,
 
-                 const wxPoint& pos = wxDefaultPosition,
 
-                 const wxSize& size = wxDefaultSize,
 
-                 long style = 0,
 
-                 const wxString& name = wxBannerWindowNameStr);
 
-     // Provide an existing bitmap to show. For wxLEFT orientation the bitmap is
 
-     // truncated from the top, for wxTOP and wxBOTTOM -- from the right and for
 
-     // wxRIGHT -- from the bottom, so put the most important part of the bitmap
 
-     // information in the opposite direction.
 
-     void SetBitmap(const wxBitmap& bmp);
 
-     // Set the text to display. This is mutually exclusive with SetBitmap().
 
-     // Title is rendered in bold and should be single line, message can have
 
-     // multiple lines but is not wrapped automatically.
 
-     void SetText(const wxString& title, const wxString& message);
 
-     // Set the colours between which the gradient runs. This can be combined
 
-     // with SetText() but not SetBitmap().
 
-     void SetGradient(const wxColour& start, const wxColour& end);
 
- protected:
 
-     virtual wxSize DoGetBestClientSize() const;
 
- private:
 
-     // Common part of all constructors.
 
-     void Init();
 
-     // Fully invalidates the window.
 
-     void OnSize(wxSizeEvent& event);
 
-     // Redraws the window using either m_bitmap or m_title/m_message.
 
-     void OnPaint(wxPaintEvent& event);
 
-     // Helper of OnPaint(): draw the bitmap at the correct position depending
 
-     // on our orientation.
 
-     void DrawBitmapBackground(wxDC& dc);
 
-     // Helper of OnPaint(): draw the text in the appropriate direction.
 
-     void DrawBannerTextLine(wxDC& dc, const wxString& str, const wxPoint& pos);
 
-     // Return the font to use for the title. Currently this is hardcoded as a
 
-     // larger bold version of the standard window font but could be made
 
-     // configurable in the future.
 
-     wxFont GetTitleFont() const;
 
-     // Return the colour to use for extending the bitmap. Non-const as it
 
-     // updates m_colBitmapBg if needed.
 
-     wxColour GetBitmapBg();
 
-     // The window side along which the banner is laid out.
 
-     wxDirection m_direction;
 
-     // If valid, this bitmap is drawn as is.
 
-     wxBitmap m_bitmap;
 
-     // If bitmap is valid, this is the colour we use to extend it if the bitmap
 
-     // is smaller than this window. It is computed on demand by GetBitmapBg().
 
-     wxColour m_colBitmapBg;
 
-     // The title and main message to draw, used if m_bitmap is invalid.
 
-     wxString m_title,
 
-              m_message;
 
-     // Start and stop gradient colours, only used when drawing text.
 
-     wxColour m_colStart,
 
-              m_colEnd;
 
-     wxDECLARE_EVENT_TABLE();
 
-     wxDECLARE_NO_COPY_CLASS(wxBannerWindow);
 
- };
 
- #endif // wxUSE_BANNERWINDOW
 
- #endif // _WX_BANNERWINDOW_H_
 
 
  |