Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages | Examples

lweight.h

00001 //  Copyright (c) 1996-2001 by Autodesk, Inc.
00002 //
00003 //  By using this code, you are agreeing to the terms and conditions of
00004 //  the License Agreement included in the documentation for this code.
00005 //
00006 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00007 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00008 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00009 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00010 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00011 //
00012 //  Use, duplication, or disclosure by the U.S. Government is subject to
00013 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00014 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00015 //  Data and Computer Software), as applicable.
00016 //
00017 
00018 #if !defined LWEIGHT_HEADER
00019 #define LWEIGHT_HEADER
00020 
00021 #include "whiptk/whipcore.h"
00022 #include "whiptk/attribute.h"
00023 
00024 class WT_File;
00025 
00030 
00031 
00034 class WHIPTK_API WT_Line_Weight
00035 : public WT_Attribute
00036 {
00037 public:
00038 
00040 
00041     WT_Line_Weight()
00042     : m_weight(0)
00043     , m_stage(Eating_Initial_Whitespace)
00044     {}
00046     WT_Line_Weight(
00047         WT_Integer32 weight 
00048         )
00049     : m_weight(weight)
00050     , m_stage(Eating_Initial_Whitespace)
00051     {}
00053 
00055 
00056     inline WT_Integer32 const & weight_value() const { return m_weight; }
00058     inline WT_Integer32&        weight_value()       { return m_weight; }
00060     inline WT_Line_Weight& operator=(
00061         WT_Integer32 weight 
00062         ) { m_weight = weight; return *this; }
00064 
00066     WT_ID            object_id() const;
00067     WT_Result        materialize(WT_Opcode const & opcode, WT_File & file);
00068     WT_Result        process(WT_File & file);
00069     WT_Result        skip_operand(WT_Opcode const & opcode, WT_File & file);
00070     WT_Result        serialize (WT_File & file) const;
00071     WT_Result        sync (WT_File & file) const;
00072     WT_Boolean       operator== (WT_Attribute const & attrib) const;
00074     inline WT_Boolean operator == ( WT_Integer32 weight ) const { return weight == m_weight; }
00076 
00078 
00080     static WT_Result default_process(
00081         WT_Line_Weight & item, 
00082         WT_File & file 
00083         );
00084 
00085 
00086 private:
00087     WT_Integer32 m_weight;
00088     enum WT_Materialize_Stage
00089     {   Eating_Initial_Whitespace,
00090         Getting_Weight,
00091         Eating_End_Whitespace
00092     } m_stage;
00093 };
00094 
00095 #endif // LWEIGHT_HEADER

Generated on Tue May 17 12:07:44 2005 for Autodesk DWF Whip 2D Toolkit by  doxygen 1.4.1