X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/10e5c7eaa0c916049981ed27d04257c1ab8dc043..3b6e5fb3f58f881d70dda6531f9c8372231a59cf:/include/wx/html/htmlwin.h diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index f2cee731bb..388cc12010 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -26,6 +26,7 @@ #include "wx/filesys.h" #include "wx/html/htmlfilt.h" #include "wx/filename.h" +#include "wx/bitmap.h" class wxHtmlProcessor; class wxHtmlWinModule; @@ -68,7 +69,7 @@ class WXDLLIMPEXP_HTML wxHtmlWindow : public wxScrolledWindow public: wxHtmlWindow() { Init(); } - wxHtmlWindow(wxWindow *parent, wxWindowID id = -1, + wxHtmlWindow(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_DEFAULT_STYLE, @@ -79,7 +80,7 @@ public: } ~wxHtmlWindow(); - bool Create(wxWindow *parent, wxWindowID id = -1, + bool Create(wxWindow *parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxHW_SCROLLBAR_AUTO, @@ -88,7 +89,7 @@ public: // Set HTML page and display it. !! source is HTML document itself, // it is NOT address/filename of HTML document. If you want to // specify document location, use LoadPage() istead - // Return value : FALSE if an error occured, TRUE otherwise + // Return value : false if an error occured, true otherwise bool SetPage(const wxString& source); // Append to current page @@ -135,10 +136,14 @@ public: void SetStandardFonts(int size = -1, const wxString& normal_face = wxEmptyString, const wxString& fixed_face = wxEmptyString); - + // Sets space between text and window borders. void SetBorders(int b) {m_Borders = b;} + // Sets the bitmap to use for background (currnetly it will be tiled, + // when/if we have CSS support we could add other possibilities...) + void SetBackgroundImage(const wxBitmap& bmpBg) { m_bmpBg = bmpBg; } + // Saves custom settings into cfg config. it will use the path 'path' // if given, otherwise it will save info into currently selected path. // saved values : things set by SetFonts, SetBorders. @@ -147,7 +152,7 @@ public: virtual void WriteCustomization(wxConfigBase *cfg, wxString path = wxEmptyString); // Goes to previous/next page (in browsing history) - // Returns TRUE if successful, FALSE otherwise + // Returns true if successful, false otherwise bool HistoryBack(); bool HistoryForward(); bool HistoryCanBack(); @@ -170,6 +175,7 @@ public: // Adds HTML processor to wxHtmlWindow class as whole: static void AddGlobalProcessor(wxHtmlProcessor *processor); + // -- Callbacks -- // Sets the title of the window @@ -192,36 +198,33 @@ public: // Called when wxHtmlWindow wants to fetch data from an URL (e.g. when // loading a page or loading an image). The data are downloaded if and only if - // OnOpeningURL returns TRUE. If OnOpeningURL returns wxHTML_REDIRECT, + // OnOpeningURL returns true. If OnOpeningURL returns wxHTML_REDIRECT, // it must set *redirect to the new URL virtual wxHtmlOpeningStatus OnOpeningURL(wxHtmlURLType WXUNUSED(type), const wxString& WXUNUSED(url), wxString *WXUNUSED(redirect)) const { return wxHTML_OPEN; } - + #if wxUSE_CLIPBOARD // Helper functions to select parts of page: void SelectWord(const wxPoint& pos); void SelectLine(const wxPoint& pos); void SelectAll(); - + // Convert selection to text: wxString SelectionToText() { return DoSelectionToText(m_selection); } // Converts current page to text: wxString ToText(); -#endif +#endif // wxUSE_CLIPBOARD - virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg)) - { /* do nothing */ } - protected: void Init(); // Scrolls to anchor of this name. (Anchor is #news // or #features etc. it is part of address sometimes: // http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/index.html#news) - // Return value : TRUE if anchor exists, FALSE otherwise + // Return value : true if anchor exists, false otherwise bool ScrollToAnchor(const wxString& anchor); // Prepares layout (= fill m_PosX, m_PosY for fragments) based on @@ -272,7 +275,7 @@ protected: protected: wxString DoSelectionToText(wxHtmlSelection *sel); - + // This is pointer to the first cell in parsed data. (Note: the first cell // is usually top one = all other cells are sub-cells of this one) wxHtmlContainerCell *m_Cell; @@ -323,13 +326,13 @@ private: // window content for double buffered rendering: wxBitmap *m_backBuffer; + // background image, may be invalid + wxBitmap m_bmpBg; + // variables used when user is selecting text wxPoint m_tmpSelFromPos; wxHtmlCell *m_tmpSelFromCell; - // a flag indicated if mouse moved - // (if TRUE we will try to change cursor in last call to OnIdle) - bool m_tmpMouseMoved; // contains last link name wxHtmlLinkInfo *m_tmpLastLink; // contains the last (terminal) cell which contained the mouse @@ -343,15 +346,23 @@ private: // this filter is used when no filter is able to read some file static wxHtmlFilter *m_DefaultFilter; - wxHtmlHistoryArray *m_History; + // html processors array: + wxHtmlProcessorList *m_Processors; + static wxHtmlProcessorList *m_GlobalProcessors; + // browser history + wxHtmlHistoryArray *m_History; int m_HistoryPos; // if this FLAG is false, items are not added to history bool m_HistoryOn; - // html processors array: - wxHtmlProcessorList *m_Processors; - static wxHtmlProcessorList *m_GlobalProcessors; + // a flag indicated if mouse moved + // (if true we will try to change cursor in last call to OnIdle) + bool m_tmpMouseMoved; + + // a flag set if we need to erase background in OnPaint() (otherwise this + // is supposed to have been done in OnEraseBackground()) + bool m_eraseBgInOnPaint; DECLARE_EVENT_TABLE() DECLARE_NO_COPY_CLASS(wxHtmlWindow)