mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-13 18:28:35 +12:00
111 lines
2.8 KiB
C++
111 lines
2.8 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: src/html/m_hline.cpp
|
|
// Purpose: wxHtml module for horizontal line (HR tag)
|
|
// Author: Vaclav Slavik
|
|
// RCS-ID: $Id: m_hline.cpp 38788 2006-04-18 08:11:26Z ABX $
|
|
// Copyright: (c) 1999 Vaclav Slavik
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "wx/wxprec.h"
|
|
|
|
#ifdef __BORLANDC__
|
|
#pragma hdrstop
|
|
#endif
|
|
|
|
#if wxUSE_HTML && wxUSE_STREAMS
|
|
|
|
#ifndef WXPRECOMP
|
|
#include "wx/brush.h"
|
|
#include "wx/pen.h"
|
|
#include "wx/dc.h"
|
|
#endif
|
|
|
|
#include "wx/html/forcelnk.h"
|
|
#include "wx/html/m_templ.h"
|
|
|
|
#include "wx/html/htmlcell.h"
|
|
|
|
FORCE_LINK_ME(m_hline)
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// wxHtmlLineCell
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class wxHtmlLineCell : public wxHtmlCell
|
|
{
|
|
public:
|
|
wxHtmlLineCell(int size, bool shading) : wxHtmlCell() {m_Height = size; m_HasShading = shading;}
|
|
void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2,
|
|
wxHtmlRenderingInfo& info);
|
|
void Layout(int w)
|
|
{ m_Width = w; wxHtmlCell::Layout(w); }
|
|
|
|
private:
|
|
// Should we draw 3-D shading or not
|
|
bool m_HasShading;
|
|
|
|
DECLARE_NO_COPY_CLASS(wxHtmlLineCell)
|
|
};
|
|
|
|
|
|
void wxHtmlLineCell::Draw(wxDC& dc, int x, int y,
|
|
int WXUNUSED(view_y1), int WXUNUSED(view_y2),
|
|
wxHtmlRenderingInfo& WXUNUSED(info))
|
|
{
|
|
wxBrush mybrush(wxT("GREY"), (m_HasShading) ? wxTRANSPARENT : wxSOLID);
|
|
wxPen mypen(wxT("GREY"), 1, wxSOLID);
|
|
dc.SetBrush(mybrush);
|
|
dc.SetPen(mypen);
|
|
dc.DrawRectangle(x + m_PosX, y + m_PosY, m_Width, m_Height);
|
|
}
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// The list handler:
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
TAG_HANDLER_BEGIN(HR, "HR")
|
|
TAG_HANDLER_CONSTR(HR) { }
|
|
|
|
TAG_HANDLER_PROC(tag)
|
|
{
|
|
wxHtmlContainerCell *c;
|
|
int sz;
|
|
bool HasShading;
|
|
|
|
m_WParser->CloseContainer();
|
|
c = m_WParser->OpenContainer();
|
|
|
|
c->SetIndent(m_WParser->GetCharHeight(), wxHTML_INDENT_VERTICAL);
|
|
c->SetAlignHor(wxHTML_ALIGN_CENTER);
|
|
c->SetAlign(tag);
|
|
c->SetWidthFloat(tag);
|
|
sz = 1;
|
|
tag.GetParamAsInt(wxT("SIZE"), &sz);
|
|
HasShading = !(tag.HasParam(wxT("NOSHADE")));
|
|
c->InsertCell(new wxHtmlLineCell((int)((double)sz * m_WParser->GetPixelScale()), HasShading));
|
|
|
|
m_WParser->CloseContainer();
|
|
m_WParser->OpenContainer();
|
|
|
|
return false;
|
|
}
|
|
|
|
TAG_HANDLER_END(HR)
|
|
|
|
|
|
|
|
|
|
|
|
TAGS_MODULE_BEGIN(HLine)
|
|
|
|
TAGS_MODULE_ADD(HR)
|
|
|
|
TAGS_MODULE_END(HLine)
|
|
|
|
#endif
|