#include "wx/log.h"
#include "wx/math.h"
#include "wx/image.h"
+ #include "wx/wxcrtvararg.h"
#endif
#include "wx/html/forcelnk.h"
virtual wxHtmlLinkInfo *GetLink(int x = 0, int y = 0) const;
void SetImage(const wxImage& img);
+
+ // If "alt" text is set, it will be used when converting this cell to text.
+ void SetAlt(const wxString& alt);
+ virtual wxString ConvertToText(wxHtmlSelection *sel) const;
+
#if wxUSE_GIF && wxUSE_TIMER
void AdvanceAnimation(wxTimer *timer);
virtual void Layout(int w);
double m_scale;
wxHtmlImageMapCell *m_imageMap;
wxString m_mapName;
+ wxString m_alt;
wxDECLARE_NO_COPY_CLASS(wxHtmlImageCell);
};
#endif // wxUSE_GIF && wxUSE_TIMER
{
wxImage image(*s, wxBITMAP_TYPE_ANY);
- if ( image.Ok() )
+ if ( image.IsOk() )
SetImage(image);
}
}
void wxHtmlImageCell::SetImage(const wxImage& img)
{
#if !defined(__WXMSW__) || wxUSE_WXDIB
- if ( img.Ok() )
+ if ( img.IsOk() )
{
delete m_bitmap;
#endif
}
+void wxHtmlImageCell::SetAlt(const wxString& alt)
+{
+ m_alt = alt;
+}
+
+wxString wxHtmlImageCell::ConvertToText(wxHtmlSelection* WXUNUSED(sel)) const
+{
+ return m_alt;
+}
+
#if wxUSE_GIF && wxUSE_TIMER
void wxHtmlImageCell::AdvanceAnimation(wxTimer *timer)
{
if (!m_bmpHpresent && m_bitmap != NULL)
m_Height = m_bitmap->GetHeight()*m_Width/m_bitmap->GetWidth();
else
- m_Height = m_scale*m_bmpH;
+ m_Height = static_cast<int>(m_scale*m_bmpH);
} else
{
- m_Width = m_scale*m_bmpW;
- m_Height = m_scale*m_bmpH;
+ m_Width = static_cast<int>(m_scale*m_bmpW);
+ m_Height = static_cast<int>(m_scale*m_bmpH);
}
switch (m_align)
if (tag.HasParam(wxT("WIDTH")))
{
- wxString param = tag.GetParam(wxT("WIDTH"));
- wxSscanf(param.c_str(), wxT("%i"), &w);
- if (param.EndsWith(wxT("%"))) {
- if (w < 0)
- w = 0;
- else if (w > 100)
- w = 100;
- wpercent = true;
+ if (tag.GetParamAsIntOrPercent(wxT("WIDTH"), &w, wpercent))
+ {
+ if (wpercent)
+ {
+ if (w < 0)
+ w = 0;
+ else if (w > 100)
+ w = 100;
+ }
}
-
}
if (tag.HasParam(wxT("HEIGHT")))
m_WParser->GetPixelScale(),
al, mn);
m_WParser->ApplyStateToCell(cel);
+ m_WParser->StopCollapsingSpaces();
cel->SetId(tag.GetParam(wxT("id"))); // may be empty
+ cel->SetAlt(tag.GetParam(wxT("alt")));
m_WParser->GetContainer()->InsertCell(cel);
if (str)
delete str;