• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • Examples
  • File List
  • File Members

DefineShapeTag.h

Go to the documentation of this file.
00001 // shape.h      -- Thatcher Ulrich <tu@tulrich.com> 2003
00002 
00003 // This source code has been donated to the Public Domain.  Do
00004 // whatever you want with it.
00005 
00006 // Quadratic bezier outline shapes, the basis for most SWF rendering.
00007 
00008 
00009 #ifndef GNASH_SHAPE_CHARACTER_DEF_H
00010 #define GNASH_SHAPE_CHARACTER_DEF_H
00011 
00012 #include "DefinitionTag.h" // for inheritance of DefineShapeTag
00013 #include "SWF.h"
00014 #include "ShapeRecord.h"
00015 
00016 namespace gnash {
00017         class SWFStream;
00018         class cxform;
00019     class Shape;
00020         class SWFMatrix;
00021         class RunResources;
00022         class Renderer;
00023 }
00024 
00025 namespace gnash {
00026 namespace SWF {
00027 
00031 class DefineShapeTag : public DefinitionTag
00032 {
00033 public:
00034 
00035     static void loader(SWFStream& in, TagType tag, movie_definition& m,
00036             const RunResources& r);
00037 
00038     virtual ~DefineShapeTag() {};
00039 
00040     // Display a Shape character.
00041     virtual void display(Renderer& renderer, const DisplayObject& inst) const;
00042 
00043     // Create a Shape DisplayObject.
00044         virtual DisplayObject* createDisplayObject(Global_as& gl,
00045             DisplayObject* parent) const;
00046         
00048     const SWFRect& bounds() const { return _shape.getBounds(); }
00049 
00050     virtual bool pointTestLocal(boost::int32_t x, boost::int32_t y, 
00051             const SWFMatrix& wm) const;
00052 
00053 protected:
00054 
00055 private:
00056 
00057     DefineShapeTag(SWFStream& in, TagType tag, movie_definition& m,
00058             const RunResources& r, boost::uint16_t id);
00059 
00061     const ShapeRecord _shape;
00062 
00063 };
00064 
00065 } // namespace SWF
00066 } // namespace gnash
00067 
00068 
00069 #endif 
00070 
00071 
00072 // Local Variables:
00073 // mode: C++
00074 // c-basic-offset: 8 
00075 // tab-width: 8
00076 // indent-tabs-mode: t
00077 // End:

Generated on Thu Sep 30 2010 14:34:57 for Gnash by  doxygen 1.7.1