inked_area.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2006 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE CORRECTNESS
00008 //  OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE IT. AUTODESK
00009 //  PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY DISCLAIMS ANY
00010 //  LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00011 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 //
00013 //  Use, duplication, or disclosure by the U.S. Government is subject to
00014 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00015 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00016 //  Data and Computer Software), as applicable.
00017 //
00018 
00019 #if !defined INKED_AREA_HEADER
00020 #define INKED_AREA_HEADER
00021 
00025 
00030 // ====================================================================================
00032 
00036 class WHIPTK_API WT_Inked_Area : public WT_Attribute
00037 {
00038 private:
00039     WT_Logical_Point *       m_bounds;
00040     int                      m_materialization_counter;
00041 
00042     enum
00043     {
00044         Getting_Operand,
00045         Getting_Bounds,
00046         Getting_Close_Paren,
00047         Completed
00048     } m_stage;
00049 
00050 public:
00051 
00053 
00054     WT_Inked_Area()
00055         : m_bounds (WD_Null), m_stage(Getting_Operand)
00056     {}
00058     WT_Inked_Area(WT_Logical_Point const * pos) throw(WT_Result);
00060     WT_Inked_Area(WT_Inked_Area const & bounds) throw(WT_Result);
00062     virtual ~WT_Inked_Area();
00064 
00066 
00067     WT_Logical_Point const * bounds() const  { return m_bounds; }
00069     void        de_relativize(WT_File & file);
00071     WT_Logical_Point const * get_inked_area() const;
00073     void        relativize(WT_File & file);
00075     WT_Result set(WT_Logical_Point const * bounds);
00077     WT_Result set_inked_area(WT_Logical_Point const * bounds);
00079     void        transform(WT_Transform const & transform);
00081     virtual WT_Inked_Area const &   operator=(WT_Inked_Area const & inked_area) throw(WT_Result);
00083 
00085     WT_ID            object_id() const;
00086     WT_Result        materialize(WT_Opcode const & opcode, WT_File & file);
00087     WT_Result        process(WT_File & file);
00088     WT_Result        skip_operand(WT_Opcode const & opcode, WT_File & file);
00089     WT_Result        serialize (WT_File & file) const;
00090     WT_Result        sync (WT_File & file) const;
00091     WT_Boolean       operator== (WT_Attribute const & attrib) const;
00093 
00095 
00097     static WT_Result default_process(
00098         WT_Inked_Area & item, 
00099         WT_File & file 
00100         );
00101 };
00102 
00104 
00105 #endif // INKED_AREA_HEADER

Generated on Tue Jan 6 22:41:13 2009 for Autodesk DWF Whip 2D Toolkit by  doxygen 1.4.5