Doxygen
Loading...
Searching...
No Matches
DocImage Class Referencefinal

Node representing an image. More...

#include <src/docnode.h>

Inheritance diagram for DocImage:
Collaboration diagram for DocImage:

Classes

struct  Private

Public Types

enum  Type {
  Html , Latex , Rtf , DocBook ,
  Xml
}

Public Member Functions

 DocImage (DocParser *parser, DocNodeVariant *parent, const HtmlAttribList &attribs, const DString &name, Type t, const DString &url=DString(), bool inlineImage=true)
Type type () const
DString name () const
bool hasCaption () const
DString width () const
DString height () const
DString relPath () const
DString url () const
bool isInlineImage () const
bool isSVG () const
const HtmlAttribListattribs () const
void parse ()
Public Member Functions inherited from DocCompoundNode
 DocCompoundNode (DocParser *parser, DocNodeVariant *parent)
DocNodeListchildren ()
const DocNodeListchildren () const
Public Member Functions inherited from DocNode
 DocNode (DocParser *parser, DocNodeVariant *parent)
 ~DocNode ()=default
DocNodeVariantparent ()
const DocNodeVariantparent () const
DocNodeVariantthisVariant ()
const DocNodeVariantthisVariant () const
void setThisVariant (DocNodeVariant *thisVariant)
DocParserparser ()
const DocParserparser () const
void setParent (DocNodeVariant *parent)
bool isPreformatted () const

Private Attributes

std::unique_ptr< Privatep

Additional Inherited Members

Protected Types inherited from DocNode
enum  RefType {
  Unknown , Anchor , Section , Table ,
  Requirement
}
Protected Member Functions inherited from DocNode
void setInsidePreformatted (bool p)

Detailed Description

Node representing an image.

Definition at line 641 of file docnode.h.

Member Enumeration Documentation

◆ Type

Enumerator
Html 
Latex 
Rtf 
DocBook 
Xml 

Definition at line 644 of file docnode.h.

644{ Html, Latex, Rtf, DocBook, Xml };
@ DocBook
Definition docnode.h:644

Constructor & Destructor Documentation

◆ DocImage()

DocImage::DocImage ( DocParser * parser,
DocNodeVariant * parent,
const HtmlAttribList & attribs,
const DString & name,
Type t,
const DString & url = DString(),
bool inlineImage = true )

Definition at line 1356 of file docnode.cpp.

1357 :
1358 DocCompoundNode(parser,parent), p(std::make_unique<Private>(attribs, name, t, parser->context.relPath, url, inlineImage))
1359{
1360}
DocCompoundNode(DocParser *parser, DocNodeVariant *parent)
Definition docnode.h:141
const HtmlAttribList & attribs() const
Definition docnode.h:656
DString name() const
Definition docnode.h:648
std::unique_ptr< Private > p
Definition docnode.h:675
DString url() const
Definition docnode.h:653
DocParser * parser()
Definition docnode.h:98
DocNodeVariant * parent()
Definition docnode.h:90
DocParserContext context

References attribs(), DocCompoundNode::DocCompoundNode(), name(), p, DocNode::parent(), DocNode::parser(), relPath(), and url().

Member Function Documentation

◆ attribs()

const HtmlAttribList & DocImage::attribs ( ) const
inline

Definition at line 656 of file docnode.h.

656{ return p->attribs; }

References p.

Referenced by DocImage(), HtmlDocVisitor::operator()(), and XmlDocVisitor::operator()().

◆ hasCaption()

bool DocImage::hasCaption ( ) const
inline

Definition at line 649 of file docnode.h.

649{ return !children().empty(); }
DocNodeList & children()
Definition docnode.h:143
bool empty() const
checks whether the container is empty
Definition growvector.h:140

References DocCompoundNode::children(), and GrowVector< T >::empty().

Referenced by DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), and RTFDocVisitor::operator()().

◆ height()

DString DocImage::height ( ) const
inline

◆ isInlineImage()

bool DocImage::isInlineImage ( ) const
inline

◆ isSVG()

bool DocImage::isSVG ( ) const

Definition at line 1362 of file docnode.cpp.

1363{
1364 DString locName = p->url.empty() ? p->name : p->url;
1365 size_t len = locName.length();
1366 size_t fnd = locName.find('?'); // ignore part from ? until end
1367 if (fnd==DString::npos) fnd=len;
1368 return fnd>=4 && locName.mid(fnd-4,4)==".svg";
1369}
DString mid(size_t index, size_t len=npos) const
Definition dstring.h:323
static constexpr size_t npos
value used to indicate 'not found' or 'to the end of the string', matching std::string::npos
Definition dstring.h:183
size_t find(char c, size_t pos=0) const
Definition dstring.h:244
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition dstring.h:156

References DString::find(), DString::length(), DString::mid(), DString::npos, and p.

Referenced by HtmlDocVisitor::operator()().

◆ name()

◆ parse()

void DocImage::parse ( )

Definition at line 1371 of file docnode.cpp.

1372{
1374}
DocNodeVariant * thisVariant()
Definition docnode.h:93
void defaultHandleTitleAndSize(const CommandType cmd, DocNodeVariant *parent, DocNodeList &children, DString &width, DString &height)

References DocCompoundNode::children(), CMD_IMAGE, DocParser::defaultHandleTitleAndSize(), p, DocNode::parser(), and DocNode::thisVariant().

◆ relPath()

DString DocImage::relPath ( ) const
inline

Definition at line 652 of file docnode.h.

652{ return p->relPath; }

References p.

Referenced by DocImage(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), and XmlDocVisitor::operator()().

◆ type()

◆ url()

DString DocImage::url ( ) const
inline

Definition at line 653 of file docnode.h.

653{ return p->url; }

References p.

Referenced by DocImage(), HtmlDocVisitor::operator()(), and XmlDocVisitor::operator()().

◆ width()

DString DocImage::width ( ) const
inline

Member Data Documentation

◆ p

std::unique_ptr<Private> DocImage::p
private

Definition at line 675 of file docnode.h.

Referenced by attribs(), DocImage(), height(), isInlineImage(), isSVG(), name(), parse(), relPath(), type(), url(), and width().


The documentation for this class was generated from the following files: