KEY1Parser.h Source File documentation

KEY1Parser.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3 * This file is part of the libetonyek project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10 #ifndef KEY1PARSER_H_INCLUDED
11 #define KEY1PARSER_H_INCLUDED
12
13 #include "librevenge/RVNGBinaryData.h"
14
15 #include "IWORKParser.h"
16 #include "KEY1ParserState.h"
17
18 namespace libetonyek
19 {
20
21 class KEYCollector;
22
23 class KEY1Parser : public IWORKParser
24 {
25 public:
26 KEY1Parser(const RVNGInputStreamPtr_t &input, const RVNGInputStreamPtr_t &package, KEYCollector &collector, KEY1Dictionary &dict);
27 ~KEY1Parser() override;
28
29 private:
30 IWORKXMLContextPtr_t createDocumentContext() override;
31 IWORKXMLContextPtr_t createDiscardContext() override;
32 const IWORKTokenizer &getTokenizer() const override;
33
34 private:
35 KEY1ParserState m_state;
36 librevenge::RVNGBinaryData m_data;
37 };
38
39 }
40
41 #endif // KEY1PARSER_H_INCLUDED
42
43 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek::KEY1Parser
Definition: KEY1Parser.h:23
libetonyek::KEY1Parser::getTokenizer
const IWORKTokenizer & getTokenizer() const override
Definition: KEY1Parser.cpp:1977
libetonyek::try_double_cast
boost::optional< double > try_double_cast(const char *value)
Definition: libetonyek_xml.cpp:84
m_author
boost::optional< std::string > m_author
Definition: KEY1Parser.cpp:56
m_tail
boost::optional< IWORKPosition > m_tail
Definition: KEY1Parser.cpp:650
libetonyek::KEY1Parser::m_state
KEY1ParserState m_state
Definition: KEY1Parser.h:35
libetonyek::KEY1Token::bullet_indentation
@ bullet_indentation
Definition: KEY1Token.h:118
libetonyek::IWORKToken::double_
@ double_
Definition: IWORKToken.h:655
libetonyek::KEY1Token::slide_list
@ slide_list
Definition: KEY1Token.h:93
libetonyek::KEY1Token::marker_type
@ marker_type
Definition: KEY1Token.h:165
libetonyek::KEY1Token::lock_aspect_ratio
@ lock_aspect_ratio
Definition: KEY1Token.h:162
libetonyek
Definition: IWORKBezierElement.cpp:20
libetonyek::IWORKToken::none
@ none
Definition: IWORKToken.h:666
libetonyek::IWORKToken::head
@ head
Definition: IWORKToken.h:251
libetonyek::KEY1Token::chart_prototype
@ chart_prototype
Definition: KEY1Token.h:45
libetonyek::KEY1Token::table
@ table
Definition: KEY1Token.h:198
m_size
boost::optional< double > m_size
Definition: KEY1Parser.cpp:214
libetonyek::KEY1Token::transition_style
@ transition_style
Definition: KEY1Token.h:106
libetonyek::KEY_TRANSITION_STYLE_TYPE_INHERITED
@ KEY_TRANSITION_STYLE_TYPE_INHERITED
Definition: KEYEnum.h:18
KEY1Token.h
libetonyek::KEY1Token::theme
@ theme
Definition: KEY1Token.h:101
libetonyek::IWORKToken::shape
@ shape
Definition: IWORKToken.h:394
IWORKTokenizer.h
libetonyek::KEY1Token::master_slides
@ master_slides
Definition: KEY1Token.h:68
libetonyek::KEY1Token::background_fill_style
@ background_fill_style
Definition: KEY1Token.h:39
m_style
IWORKStylePtr_t m_style
Definition: KEY1Parser.cpp:451
libetonyek::IWORKToken::array
@ array
Definition: IWORKToken.h:102
libetonyek::KEY1Token::master_slide_id
@ master_slide_id
Definition: KEY1Token.h:166
IWORKProperties.h
libetonyek::KEYPlaceholderPtr_t
std::shared_ptr< KEYPlaceholder > KEYPlaceholderPtr_t
Definition: KEYTypes_fwd.h:26
libetonyek::IWORKToken::type
@ type
Definition: IWORKToken.h:486
libetonyek::IWORKXMLContextPtr_t
std::shared_ptr< IWORKXMLContext > IWORKXMLContextPtr_t
Definition: IWORKXMLContext.h:18
libetonyek::KEY1_BULLETTYPE_IMAGE
@ KEY1_BULLETTYPE_IMAGE
Definition: KEY1ParserState.h:25
m_lockAspectRatio
bool m_lockAspectRatio
Definition: KEY1Parser.cpp:543
KEY1Dictionary.h
libetonyek::KEY1Token::transformation
@ transformation
Definition: KEY1Token.h:207
KEY1FillElement.h
libetonyek::IWORKTokenizer
Definition: IWORKTokenizer.h:16
libetonyek::KEYSlidePtr_t
std::shared_ptr< KEYSlide > KEYSlidePtr_t
Definition: KEYTypes_fwd.h:31
libetonyek::KEY1Token::level
@ level
Definition: KEY1Token.h:158
libetonyek::KEY1Token::fill_style
@ fill_style
Definition: KEY1Token.h:55
libetonyek::KEY1Token::display_name
@ display_name
Definition: KEY1Token.h:126
libetonyek::KEY1Token::stroke_color
@ stroke_color
Definition: KEY1Token.h:195
libetonyek::IWORKToken::top
@ top
Definition: IWORKToken.h:620
m_data
IWORKDataPtr_t & m_data
Definition: IWORKMediaElement.cpp:93
libetonyek::KEY1Token::vertical_alignment
@ vertical_alignment
Definition: KEY1Token.h:214
libetonyek::IWORKToken::g
@ g
Definition: IWORKToken.h:231
m_transformation
boost::optional< glm::dmat3 > m_transformation
Definition: KEY1Parser.cpp:546
ETONYEK_DEBUG_MSG
#define ETONYEK_DEBUG_MSG(M)
Definition: libetonyek_utils.h:54
libetonyek::KEY1_BULLETTYPE_SEQUENCE
@ KEY1_BULLETTYPE_SEQUENCE
Definition: KEY1ParserState.h:27
libetonyek::KEY_TRANSITION_STYLE_TYPE_NAMED
@ KEY_TRANSITION_STYLE_TYPE_NAMED
Definition: KEYEnum.h:20
KEYCollector.h
libetonyek::KEY2Token::i
@ i
Definition: KEY2Token.h:101
libetonyek::KEY_TRANSITION_STYLE_TYPE_NONE
@ KEY_TRANSITION_STYLE_TYPE_NONE
Definition: KEYEnum.h:19
libetonyek::KEY1Token::master_slide
@ master_slide
Definition: KEY1Token.h:67
KEY1ContentElement.h
libetonyek::IWORK_STROKE_TYPE_SOLID
@ IWORK_STROKE_TYPE_SOLID
Definition: IWORKEnum.h:121
KEY1StylesContext.h
libetonyek::KEY1Token::guides
@ guides
Definition: KEY1Token.h:60
m_masterRef
optional< ID_t > m_masterRef
Definition: KEY1Parser.cpp:1506
m_paragraphStyle
IWORKStylePtr_t m_paragraphStyle
Definition: KEY1Parser.cpp:860
m_description
boost::optional< std::string > & m_description
Definition: KEY1Parser.cpp:115
libetonyek::KEY1Parser::KEY1Parser
KEY1Parser(const RVNGInputStreamPtr_t &input, const RVNGInputStreamPtr_t &package, KEYCollector &collector, KEY1Dictionary &dict)
Definition: KEY1Parser.cpp:1955
m_title
boost::optional< std::string > m_title
Definition: KEY1Parser.cpp:57
libetonyek::IWORKToken::relative
@ relative
Definition: IWORKToken.h:669
libetonyek::KEY1Token::text_attributes
@ text_attributes
Definition: KEY1Token.h:99
libetonyek::IWORKToken::drawables
@ drawables
Definition: IWORKToken.h:183
libetonyek::try_int_cast
boost::optional< int > try_int_cast(const char *value)
Definition: libetonyek_xml.cpp:99
m_prototype
bool m_prototype
Definition: KEY1Parser.cpp:395
libetonyek::KEY1Token::inherited
@ inherited
Definition: KEY1Token.h:225
libetonyek::IWORKToken::locked
@ locked
Definition: IWORKToken.h:570
libetonyek::IWORKParser
Definition: IWORKParser.h:23
m_spanStylePtr
IWORKStylePtr_t & m_spanStylePtr
Definition: KEY1Parser.cpp:799
m_divStyle
KEY1DivStyle m_divStyle
Definition: KEY1Parser.cpp:795
libetonyek::IWORKToken::bottom
@ bottom
Definition: IWORKToken.h:508
libetonyek::IWORK_VERTICAL_ALIGNMENT_BOTTOM
@ IWORK_VERTICAL_ALIGNMENT_BOTTOM
Definition: IWORKEnum.h:115
libetonyek::IWORKToken::path
@ path
Definition: IWORKToken.h:358
libetonyek::try_bool_cast
boost::optional< bool > try_bool_cast(const char *value)
Definition: libetonyek_xml.cpp:61
KEY1ParserState.h
libetonyek::IWORKMediaContentPtr_t
std::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition: IWORKTypes_fwd.h:54
libetonyek::IWORKToken::bullet
@ bullet
Definition: IWORKToken.h:651
libetonyek::IWORK_VERTICAL_ALIGNMENT_MIDDLE
@ IWORK_VERTICAL_ALIGNMENT_MIDDLE
Definition: IWORKEnum.h:114
m_divStylePtr
IWORKStylePtr_t & m_divStylePtr
Definition: KEY1Parser.cpp:798
m_indents
std::deque< double > m_indents
Definition: KEY1Parser.cpp:971
libetonyek::KEY1Token::visible
@ visible
Definition: KEY1Token.h:216
libetonyek::KEY1Token::sequence_bullet_style
@ sequence_bullet_style
Definition: KEY1Token.h:86
libetonyek::KEY1Token::body
@ body
Definition: KEY1Token.h:40
m_imageName
boost::optional< std::string > m_imageName
Definition: KEY1Parser.cpp:542
libetonyek::KEY1Token::plugin
@ plugin
Definition: KEY1Token.h:75
libetonyek::IWORKToken::page_number
@ page_number
Definition: IWORKToken.h:348
m_strokeWidth
boost::optional< double > m_strokeWidth
Definition: KEY1Parser.cpp:453
libetonyek::IWORK_VERTICAL_ALIGNMENT_TOP
@ IWORK_VERTICAL_ALIGNMENT_TOP
Definition: IWORKEnum.h:113
m_styleRef
optional< ID_t > m_styleRef
Definition: KEY1Parser.cpp:1505
libetonyek::KEY1Token::prototype_plugins
@ prototype_plugins
Definition: KEY1Token.h:82
libetonyek::KEY1Token::ui_state
@ ui_state
Definition: KEY1Token.h:107
libetonyek::IWORKToken::size
@ size
Definition: IWORKToken.h:395
libetonyek::IWORKToken::id
@ id
Definition: IWORKToken.h:259
libetonyek::IWORKToken::title
@ title
Definition: IWORKToken.h:476
KEY1TableElement.h
libetonyek::IWORKToken::line
@ line
Definition: IWORKToken.h:298
libetonyek::IWORKToken::content
@ content
Definition: IWORKToken.h:163
m_path
IWORKPathPtr_t m_path
Definition: KEY1Parser.cpp:721
libetonyek::KEY1Token::bullet_characters
@ bullet_characters
Definition: KEY1Token.h:42
libetonyek::IWORKToken::spacing
@ spacing
Definition: IWORKToken.h:609
libetonyek::KEY1Token::slide
@ slide
Definition: KEY1Token.h:92
libetonyek::KEY1Token::duration
@ duration
Definition: KEY1Token.h:127
libetonyek::KEY1_BULLETTYPE_INHERITED
@ KEY1_BULLETTYPE_INHERITED
Definition: KEY1ParserState.h:26
libetonyek::bool_cast
bool bool_cast(const char *value)
Convert string value to bool.
Definition: libetonyek_xml.cpp:56
libetonyek::KEY1Parser::createDocumentContext
IWORKXMLContextPtr_t createDocumentContext() override
Definition: KEY1Parser.cpp:1967
KEY1DivElement.h
m_displayName
boost::optional< std::string > m_displayName
Definition: KEY1Parser.cpp:541
libetonyek::KEY1Token::thumbnails
@ thumbnails
Definition: KEY1Token.h:103
libetonyek::KEY1Token::plugin_data
@ plugin_data
Definition: KEY1Token.h:76
libetonyek::IWORKToken::number
@ number
Definition: IWORKToken.h:331
libetonyek::KEY1Token::hidden
@ hidden
Definition: KEY1Token.h:224
libetonyek::IWORKPathPtr_t
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
libetonyek::IWORKToken::val
@ val
Definition: IWORKToken.h:623
m_locked
bool m_locked
Definition: KEY1Parser.cpp:544
libetonyek::KEY1Token::dash_style
@ dash_style
Definition: KEY1Token.h:48
libetonyek::KEY1Token::presentation
@ presentation
Definition: KEY1Token.h:77
libetonyek::IWORKToken::image
@ image
Definition: IWORKToken.h:260
m_growHorizontally
boost::optional< bool > m_growHorizontally
Definition: KEY1Parser.cpp:1075
KEY1XMLContextBase.h
libetonyek::IWORKToken::metadata
@ metadata
Definition: IWORKToken.h:323
libetonyek::IWORKToken::element
@ element
Definition: IWORKToken.h:188
libetonyek::KEY1ParserState
Definition: KEY1ParserState.h:44
libetonyek::IWORKToken::color
@ color
Definition: IWORKToken.h:151
libetonyek::KEY1XMLElementContextBase
KEY1XMLContextBase< IWORKXMLContextElement > KEY1XMLElementContextBase
Definition: KEY1XMLContextBase.h:39
libetonyek::KEY1Token::grow_horizontally
@ grow_horizontally
Definition: KEY1Token.h:143
m_comment
boost::optional< std::string > m_comment
Definition: KEY1Parser.cpp:59
libetonyek::KEY1Token::key
@ key
Definition: KEY1Token.h:153
libetonyek::IWORKToken::layer
@ layer
Definition: IWORKToken.h:286
KEY1SpanElement.h
libetonyek::IWORKToken::styles
@ styles
Definition: IWORKToken.h:416
libetonyek::IWORKToken::string
@ string
Definition: IWORKToken.h:411
libetonyek::KEY1Token::description
@ description
Definition: KEY1Token.h:50
libetonyek::KEY1Token::floating_content
@ floating_content
Definition: KEY1Token.h:133
IWORKText.h
libetonyek::IWORKToken::pos
@ pos
Definition: IWORKToken.h:592
m_isMasterSlide
bool m_isMasterSlide
Definition: KEY1Parser.cpp:1504
libetonyek::KEY1Token::textbox
@ textbox
Definition: KEY1Token.h:100
m_width
boost::optional< double > m_width
Definition: IWORKStrokeContext.cpp:229
KEYEnum.h
libetonyek::IWORKToken::version
@ version
Definition: IWORKToken.h:626
libetonyek::IWORKLinePtr_t
std::shared_ptr< IWORKLine > IWORKLinePtr_t
Definition: IWORKTypes_fwd.h:45
libetonyek::makeRoundedRectanglePath
IWORKPathPtr_t makeRoundedRectanglePath(const IWORKSize &size, const double radius)
Definition: IWORKShape.cpp:189
libetonyek::KEY1Dictionary
A dictionary of all referenceable entities in the presentation.
Definition: KEY1Dictionary.h:35
libetonyek::IWORKToken::style
@ style
Definition: IWORKToken.h:414
libetonyek::KEY1Parser::~KEY1Parser
~KEY1Parser() override
Definition: KEY1Parser.cpp:1963
libetonyek::IWORKToken::tail
@ tail
Definition: IWORKToken.h:463
IWORKDiscardContext.h
libetonyek::KEY1Token::character
@ character
Definition: KEY1Token.h:222
libetonyek::KEY1Token::prototype_bullets
@ prototype_bullets
Definition: KEY1Token.h:78
m_transitionStyle
KEYTransition m_transitionStyle
Definition: KEY1Parser.cpp:152
libetonyek::KEYLayerPtr_t
std::shared_ptr< KEYLayer > KEYLayerPtr_t
Definition: KEYTypes_fwd.h:21
libetonyek::KEY1Token::stroke_width
@ stroke_width
Definition: KEY1Token.h:196
libetonyek::KEY1Parser::createDiscardContext
IWORKXMLContextPtr_t createDiscardContext() override
Definition: KEY1Parser.cpp:1972
libetonyek::KEY1_BULLETTYPE_CHARACTER
@ KEY1_BULLETTYPE_CHARACTER
Definition: KEY1ParserState.h:24
IWORKParser.h
m_recorder
std::shared_ptr< IWORKRecorder > m_recorder
Definition: KEY1Parser.cpp:1512
libetonyek::KEY1Token::sequence
@ sequence
Definition: KEY1Token.h:233
KEY1Parser.h
m_visible
boost::optional< bool > m_visible
Definition: KEY1Parser.cpp:863
libetonyek::KEY1Token::size_technique
@ size_technique
Definition: KEY1Token.h:189
libetonyek::KEY1Token::middle
@ middle
Definition: KEY1Token.h:228
m_opened
bool m_opened
Definition: KEY1Parser.cpp:296
libetonyek::KEY1Token::byte_size
@ byte_size
Definition: KEY1Token.h:119
libetonyek::KEY1_BULLETTYPE_NONE
@ KEY1_BULLETTYPE_NONE
Definition: KEY1ParserState.h:28
libetonyek::KEY1Token::slide_size
@ slide_size
Definition: KEY1Token.h:190
m_state
PAG1ParserState & m_state
Definition: PAG1TextStorageElement.cpp:413
libetonyek::KEY1Token::prototype_plugin
@ prototype_plugin
Definition: KEY1Token.h:81
KEY1StringConverter.h
m_background
boost::optional< IWORKFill > m_background
Definition: KEY1Parser.cpp:1509
libetonyek::IWORKToken::first
@ first
Definition: IWORKToken.h:524
libetonyek::IWORKToken::stroke
@ stroke
Definition: IWORKToken.h:412
libetonyek::KEY1Token::character_bullet_style
@ character_bullet_style
Definition: KEY1Token.h:44
libetonyek::IWORKGeometryPtr_t
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
libetonyek::KEY1Token::dict
@ dict
Definition: KEY1Token.h:51
libetonyek::KEY1Parser::m_data
librevenge::RVNGBinaryData m_data
Definition: KEY1Parser.h:36
libetonyek::IWORKStylePtr_t
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
libetonyek::KEY1Token::image_bullet_style
@ image_bullet_style
Definition: KEY1Token.h:62
libetonyek::KEY1Token::image_data
@ image_data
Definition: KEY1Token.h:148
m_opacity
boost::optional< double > m_opacity
Definition: KEY1Parser.cpp:454
m_notes
boost::optional< std::string > m_notes
Definition: KEY1Parser.cpp:1513
libetonyek::IWORKToken::end
@ end
Definition: IWORKToken.h:189
libetonyek::KEY1Token::natural_size
@ natural_size
Definition: KEY1Token.h:170
m_location
boost::optional< IWORKPosition > m_location
Definition: KEY1Parser.cpp:858
m_relative
bool m_relative
Definition: KEY1Parser.cpp:213
m_bullet
KEY1Bullet m_bullet
Definition: KEY1Parser.cpp:295
libetonyek::KEY1Token::bullets
@ bullets
Definition: KEY1Token.h:43
libetonyek::KEY1Token::NS_URI_KEY
@ NS_URI_KEY
Definition: KEY1Token.h:248
libetonyek::KEY1Token::visibility
@ visibility
Definition: KEY1Token.h:215
m_verticalAlignment
boost::optional< IWORKVerticalAlignment > m_verticalAlignment
Definition: KEY1Parser.cpp:862
libetonyek::RVNGInputStreamPtr_t
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libetonyek_utils.h:82
libetonyek::KEY1Token::location
@ location
Definition: KEY1Token.h:161
IWORKRecorder.h
libetonyek::get
const ValueT & get(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field)
Definition: IWAField.h:190
libetonyek::KEYCollector
Definition: KEYCollector.h:24
m_key
boost::optional< std::string > m_key
Definition: KEY1Parser.cpp:1245
m_strokeColor
boost::optional< IWORKColor > m_strokeColor
Definition: KEY1Parser.cpp:452
libetonyek::KEY1Token::notes
@ notes
Definition: KEY1Token.h:71
m_naturalSize
boost::optional< IWORKSize > m_naturalSize
Definition: KEY1Parser.cpp:545
libetonyek::KEY1Token::prototype_drawables
@ prototype_drawables
Definition: KEY1Token.h:80
libetonyek::PAG1Token::prototype
@ prototype
Definition: PAG1Token.h:46
libetonyek::IWORKToken::geometry
@ geometry
Definition: IWORKToken.h:232
libetonyek::IWORKToken::getTokenizer
const IWORKTokenizer & getTokenizer()
Definition: IWORKToken.cpp:57
libetonyek::IWORKToken::name
@ name
Definition: IWORKToken.h:578
libetonyek::IWORKToken::value
@ value
Definition: IWORKToken.h:624
m_bulletStyle
BulletStyle m_bulletStyle
Definition: KEY1Parser.cpp:231
m_keywords
boost::optional< std::string > m_keywords
Definition: KEY1Parser.cpp:58
libetonyek::KEY1Token::reference
@ reference
Definition: KEY1Token.h:84
libetonyek::KEY1Token::getTokenizer
const IWORKTokenizer & getTokenizer()
Definition: KEY1Token.cpp:57
m_spanStyle
KEY1SpanStyle m_spanStyle
Definition: KEY1Parser.cpp:796
m_name
boost::optional< std::string > m_name
Definition: KEY1Parser.cpp:1508
libetonyek::IWORKToken::opacity
@ opacity
Definition: IWORKToken.h:588
libetonyek::KEY1Token::prototype_data
@ prototype_data
Definition: KEY1Token.h:79
libetonyek_xml.h
m_head
boost::optional< IWORKPosition > m_head
Definition: KEY1Parser.cpp:649
libetonyek::KEY1Token::tracks_master
@ tracks_master
Definition: KEY1Token.h:238