]> git.saurik.com Git - wxWidgets.git/blobdiff - src/html/m_image.cpp
1. wxCalendarCtrl
[wxWidgets.git] / src / html / m_image.cpp
index c8b27e55ae56d39fecbc80db057713fd7d206529..4c32fbe5e93c7089957f679a32be6f54f83b60f1 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        mod_image.cpp
+// Name:        m_image.cpp
 // Purpose:     wxHtml module for displaying images
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
 // Purpose:     wxHtml module for displaying images
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
@@ -34,7 +34,7 @@
 #include <math.h>
 #include <float.h>
 
 #include <math.h>
 #include <float.h>
 
-FORCE_LINK_ME(mod_image)
+FORCE_LINK_ME(m_image)
 
 
 
 
 
 
@@ -60,7 +60,7 @@ class wxHtmlImageMapAreaCell : public wxHtmlCell
         int radius;
     public:
         wxHtmlImageMapAreaCell( celltype t, wxString &coords, double pixel_scale = 1.0);
         int radius;
     public:
         wxHtmlImageMapAreaCell( celltype t, wxString &coords, double pixel_scale = 1.0);
-        virtual wxString GetLink( int x = 0, int y = 0 ) const;
+        virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const;
 };
 
 
 };
 
 
@@ -80,7 +80,7 @@ wxHtmlImageMapAreaCell::wxHtmlImageMapAreaCell( wxHtmlImageMapAreaCell::celltype
     coords.Add( (int)(pixel_scale * (double)wxAtoi( x.c_str())) );
 }
 
     coords.Add( (int)(pixel_scale * (double)wxAtoi( x.c_str())) );
 }
 
-wxString wxHtmlImageMapAreaCell::GetLink( int x, int y ) const
+wxHtmlLinkInfo *wxHtmlImageMapAreaCell::GetLink( int x, int y ) const
 {
     switch (type) {
         case RECT:
 {
     switch (type) {
         case RECT:
@@ -181,7 +181,7 @@ wxString wxHtmlImageMapAreaCell::GetLink( int x, int y ) const
         wxHtmlImageMapAreaCell  *a = (wxHtmlImageMapAreaCell*)m_Next;
         return a->GetLink( x, y );
     }
         wxHtmlImageMapAreaCell  *a = (wxHtmlImageMapAreaCell*)m_Next;
         return a->GetLink( x, y );
     }
-    return wxEmptyString;
+    return NULL;
 }
 
 
 }
 
 
@@ -206,7 +206,7 @@ class wxHtmlImageMapCell : public wxHtmlCell
     protected:
         wxString m_Name;
     public:
     protected:
         wxString m_Name;
     public:
-        virtual wxString GetLink( int x = 0, int y = 0 ) const;
+        virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const;
         virtual const wxHtmlCell *Find( int cond, const void *param ) const;
 };
 
         virtual const wxHtmlCell *Find( int cond, const void *param ) const;
 };
 
@@ -216,7 +216,7 @@ wxHtmlImageMapCell::wxHtmlImageMapCell( wxString &name )
     m_Name = name ;
 }
 
     m_Name = name ;
 }
 
-wxString wxHtmlImageMapCell::GetLink( int x, int y ) const
+wxHtmlLinkInfo *wxHtmlImageMapCell::GetLink( int x, int y ) const
 {
     wxHtmlImageMapAreaCell  *a = (wxHtmlImageMapAreaCell*)m_Next;
     if (a)
 {
     wxHtmlImageMapAreaCell  *a = (wxHtmlImageMapAreaCell*)m_Next;
     if (a)
@@ -252,7 +252,7 @@ class wxHtmlImageCell : public wxHtmlCell
         wxHtmlImageCell(wxFSFile *input, int w = -1, int h = -1, int align = wxHTML_ALIGN_BOTTOM, wxString mapname = wxEmptyString);
         ~wxHtmlImageCell() {if (m_Image) delete m_Image; }
         void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
         wxHtmlImageCell(wxFSFile *input, int w = -1, int h = -1, int align = wxHTML_ALIGN_BOTTOM, wxString mapname = wxEmptyString);
         ~wxHtmlImageCell() {if (m_Image) delete m_Image; }
         void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
-        virtual wxString GetLink( int x = 0, int y = 0 ) const;
+        virtual wxHtmlLinkInfo *GetLink( int x = 0, int y = 0 ) const;
 };
 
 
 };
 
 
@@ -310,7 +310,7 @@ void wxHtmlImageCell::Draw(wxDC& dc, int x, int y, int view_y1, int view_y2)
     wxHtmlCell::Draw(dc, x, y, view_y1, view_y2);
 }
 
     wxHtmlCell::Draw(dc, x, y, view_y1, view_y2);
 }
 
-wxString wxHtmlImageCell::GetLink( int x, int y ) const
+wxHtmlLinkInfo *wxHtmlImageCell::GetLink( int x, int y ) const
 {
     if (m_MapName.IsEmpty())
         return wxHtmlCell::GetLink( x, y );
 {
     if (m_MapName.IsEmpty())
         return wxHtmlCell::GetLink( x, y );
@@ -412,7 +412,9 @@ TAG_HANDLER_BEGIN(IMG, "IMG,MAP,AREA")
                 }
                 if (cel != NULL && tag.HasParam("HREF")) {
                     wxString tmp = tag.GetParam("HREF");
                 }
                 if (cel != NULL && tag.HasParam("HREF")) {
                     wxString tmp = tag.GetParam("HREF");
-                    cel->SetLink( tmp );
+                    wxString target = wxEmptyString;
+                    if (tag.HasParam("TARGET")) target = tag.GetParam("TARGET");
+                    cel->SetLink( wxHtmlLinkInfo(tmp, target));
                 }
                 if (cel != NULL) m_WParser->GetContainer()->InsertCell( cel );
             }
                 }
                 if (cel != NULL) m_WParser->GetContainer()->InsertCell( cel );
             }