IWORKFillElement.h Source File documentation

IWORKFillElement.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 IWORKFILLELEMENT_H_INCLUDED
11 #define IWORKFILLELEMENT_H_INCLUDED
12
13 #include <boost/optional.hpp>
14
15 #include "IWORKXMLContextBase.h"
16
17 #include "IWORKPropertyMap.h"
18 #include "IWORKTypes.h"
19
20 namespace libetonyek
21 {
22 class IWORKFillElement : public IWORKXMLElementContextBase
23 {
24 public:
25 IWORKFillElement(IWORKXMLParserState &state, boost::optional<IWORKFill> &value);
26
27 private:
28 IWORKXMLContextPtr_t element(int name) override;
29 void endOfElement() override;
30
31 private:
32 boost::optional<IWORKFill> &m_value;
33 boost::optional<IWORKColor> m_color;
34 boost::optional<IWORKGradient> m_gradient;
35 IWORKMediaContentPtr_t m_bitmap;
36 boost::optional<ID_t> m_gradientRef;
37 boost::optional<ID_t> m_texturedFillRef;
38 };
39 }
40
41 #endif // IWORKFILLELEMENT_H_INCLUDED
42
43 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libetonyek::double_cast
double double_cast(const char *value)
Definition: libetonyek_xml.cpp:79
libetonyek::IWORKFillElement::m_gradientRef
boost::optional< ID_t > m_gradientRef
Definition: IWORKFillElement.h:36
IWORKImageElement.h
IWORKDictionary.h
libetonyek
Definition: IWORKBezierElement.cpp:20
libetonyek::IWORKToken::null
@ null
Definition: IWORKToken.h:330
libetonyek::IWORKToken::texture_fill
@ texture_fill
Definition: IWORKToken.h:472
IWORKTokenizer.h
m_opacity
boost::optional< double > m_opacity
Definition: IWORKFillElement.cpp:133
libetonyek::IWORKToken::inflection
@ inflection
Definition: IWORKToken.h:263
libetonyek::IWORKToken::ID
@ ID
Definition: IWORKToken.h:499
IWORKPropertyMap.h
IWORKProperties.h
IWORKFillElement.h
libetonyek::IWORKToken::type
@ type
Definition: IWORKToken.h:486
libetonyek::IWORKXMLContextPtr_t
std::shared_ptr< IWORKXMLContext > IWORKXMLContextPtr_t
Definition: IWORKXMLContext.h:18
libetonyek::IWORKToken::NS_URI_SFA
@ NS_URI_SFA
Definition: IWORKToken.h:689
m_stops
std::deque< IWORKGradientStop > & m_stops
Definition: IWORKFillElement.cpp:48
libetonyek::IWORKToken::filtered_image_ref
@ filtered_image_ref
Definition: IWORKToken.h:204
IWORKPositionElement.h
libetonyek::IWORKToken::texture_fill_ref
@ texture_fill_ref
Definition: IWORKToken.h:473
IWORKDirectCollector.h
m_baseSize
boost::optional< IWORKSize > m_baseSize
Definition: IWORKFillElement.cpp:228
libetonyek::IWORK_GRADIENT_TYPE_LINEAR
@ IWORK_GRADIENT_TYPE_LINEAR
Definition: IWORKEnum.h:107
m_inflection
boost::optional< double > m_inflection
Definition: IWORKFillElement.cpp:51
ETONYEK_DEBUG_MSG
#define ETONYEK_DEBUG_MSG(M)
Definition: libetonyek_utils.h:54
libetonyek::IWORKToken::angle_gradient
@ angle_gradient
Definition: IWORKToken.h:95
IWORKColorElement.h
libetonyek::IWORKToken::angle_gradient_ref
@ angle_gradient_ref
Definition: IWORKToken.h:96
m_imageRef
boost::optional< ID_t > m_imageRef
Definition: IWORKFillElement.cpp:323
libetonyek::IWORKToken::natural
@ natural
Definition: IWORKToken.h:664
libetonyek::IWORKFillElement::m_bitmap
IWORKMediaContentPtr_t m_bitmap
Definition: IWORKFillElement.h:35
libetonyek::IWORKToken::textured_fill
@ textured_fill
Definition: IWORKToken.h:474
m_angle
boost::optional< double > m_angle
Definition: IWORKFillElement.cpp:134
libetonyek::IWORKToken::linear
@ linear
Definition: IWORKToken.h:660
libetonyek::IWORKFillElement::m_texturedFillRef
boost::optional< ID_t > m_texturedFillRef
Definition: IWORKFillElement.h:37
m_endPosition
boost::optional< IWORKPosition > m_endPosition
Definition: IWORKFillElement.cpp:227
libetonyek::IWORKToken::radial
@ radial
Definition: IWORKToken.h:667
libetonyek::IWORKMediaContentPtr_t
std::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition: IWORKTypes_fwd.h:54
m_startPosition
boost::optional< IWORKPosition > m_startPosition
Definition: IWORKFillElement.cpp:226
libetonyek::IWORKXMLParserState
Definition: IWORKXMLParserState.h:31
libetonyek::IWORKFillElement::IWORKFillElement
IWORKFillElement(IWORKXMLParserState &state, boost::optional< IWORKFill > &value)
Definition: IWORKFillElement.cpp:431
libetonyek::IWORKToken::NS_URI_XSI
@ NS_URI_XSI
Definition: IWORKToken.h:690
libetonyek::IWORKToken::content
@ content
Definition: IWORKToken.h:163
m_color
boost::optional< IWORKColor > m_color
Definition: IWORKFillElement.cpp:49
libetonyek::IWORK_IMAGE_TYPE_SCALE_TO_FIT
@ IWORK_IMAGE_TYPE_SCALE_TO_FIT
Definition: IWORKEnum.h:102
libetonyek::IWORKFillElement::element
IWORKXMLContextPtr_t element(int name) override
Definition: IWORKFillElement.cpp:442
m_content
IWORKMediaContentPtr_t & m_content
Definition: IWORKFillElement.cpp:319
libetonyek::IWORKFillElement::endOfElement
void endOfElement() override
Definition: IWORKFillElement.cpp:471
m_value
boost::optional< IWORKGradient > & m_value
Definition: IWORKFillElement.cpp:131
libetonyek::IWORKToken::stops
@ stops
Definition: IWORKToken.h:409
libetonyek::IWORKToken::image
@ image
Definition: IWORKToken.h:260
libetonyek::IWORKToken::element
@ element
Definition: IWORKToken.h:188
m_fraction
boost::optional< double > m_fraction
Definition: IWORKFillElement.cpp:50
libetonyek::IWORKToken::color
@ color
Definition: IWORKToken.h:151
libetonyek::IWORKToken::image_ref
@ image_ref
Definition: IWORKToken.h:262
libetonyek::IWORKToken::transform_gradient
@ transform_gradient
Definition: IWORKToken.h:483
libetonyek::IWORKToken::technique
@ technique
Definition: IWORKToken.h:619
libetonyek_utils.h
libetonyek::IWORKToken::angle
@ angle
Definition: IWORKToken.h:505
IWORKContainerContext.h
libetonyek::IWORKToken::textured_fill_ref
@ textured_fill_ref
Definition: IWORKToken.h:475
IWORKTypes.h
libetonyek::IWORKXMLContextBase
Definition: IWORKXMLContextBase.h:27
IWORKXMLParserState.h
libetonyek::IWORKFillElement::m_gradient
boost::optional< IWORKGradient > m_gradient
Definition: IWORKFillElement.h:34
libetonyek::IWORKXMLElementContextBase
IWORKXMLContextBase< IWORKXMLContextElement, IWORKXMLParserState > IWORKXMLElementContextBase
Definition: IWORKXMLContextBase.h:125
libetonyek::IWORK_IMAGE_TYPE_TILE
@ IWORK_IMAGE_TYPE_TILE
Definition: IWORKEnum.h:100
libetonyek::IWORKToken::fit
@ fit
Definition: IWORKToken.h:658
libetonyek::IWORKToken::start
@ start
Definition: IWORKToken.h:405
libetonyek::IWORKToken::fraction
@ fraction
Definition: IWORKToken.h:228
libetonyek::IWORKToken::stretch
@ stretch
Definition: IWORKToken.h:673
libetonyek::IWORK_IMAGE_TYPE_ORIGINAL_SIZE
@ IWORK_IMAGE_TYPE_ORIGINAL_SIZE
Definition: IWORKEnum.h:98
libetonyek::IWORK_IMAGE_TYPE_STRETCH
@ IWORK_IMAGE_TYPE_STRETCH
Definition: IWORKEnum.h:99
libetonyek::IWORKFillElement::m_value
boost::optional< IWORKFill > & m_value
Definition: IWORKFillElement.h:32
libetonyek::IWORKFillElement
Definition: IWORKFillElement.h:22
libetonyek::IWORKToken::tile
@ tile
Definition: IWORKToken.h:675
libetonyek::IWORKToken::NS_URI_SF
@ NS_URI_SF
Definition: IWORKToken.h:688
IWORKXMLContextBase.h
libetonyek::IWORK_GRADIENT_TYPE_RADIAL
@ IWORK_GRADIENT_TYPE_RADIAL
Definition: IWORKEnum.h:108
IWORKFilteredImageElement.h
libetonyek::IWORK_IMAGE_TYPE_SCALE_TO_FILL
@ IWORK_IMAGE_TYPE_SCALE_TO_FILL
Definition: IWORKEnum.h:101
libetonyek::IWORKToken::end
@ end
Definition: IWORKToken.h:189
libetonyek::get_optional_value_or
const ValueT & get_optional_value_or(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field, const ValueT &value)
Definition: IWAField.h:196
libetonyek::IWORKToken::fill
@ fill
Definition: IWORKToken.h:200
IWORKToken.h
m_type
boost::optional< IWORKGradientType > m_type
Definition: IWORKFillElement.cpp:132
libetonyek::get
const ValueT & get(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field)
Definition: IWAField.h:190
IWORKRefContext.h
libetonyek::IWORKToken::baseSize
@ baseSize
Definition: IWORKToken.h:111
libetonyek::IWORKFillElement::m_color
boost::optional< IWORKColor > m_color
Definition: IWORKFillElement.h:33
IWORKSizeElement.h
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_filteredImageRef
boost::optional< ID_t > m_filteredImageRef
Definition: IWORKFillElement.cpp:322
libetonyek::IWORKToken::filtered_image
@ filtered_image
Definition: IWORKToken.h:203
libetonyek::IWORKToken::opacity
@ opacity
Definition: IWORKToken.h:588
libetonyek_xml.h
libetonyek::IWORKXMLContextBase::getState
State & getState()
Definition: IWORKXMLContextBase.h:43