make swfdec_as_object_mark() only mark if not marked yet
[swfdec.git] / swfdec / swfdec_types.h
bloba29d50ec4ef33a82b82b9514eeef0e0ea2f0d163
2 #ifndef _SWFDEC_TYPES_H_
3 #define _SWFDEC_TYPES_H_
5 #include <glib-object.h>
6 #include <cairo.h>
8 G_BEGIN_DECLS
10 /* Pixel value in the same colorspace as cairo - endian-dependant ARGB.
11 * The alpha pixel must be present */
12 typedef guint32 SwfdecColor;
14 /* audio is 44100Hz, framerate is multiple of 256Hz, FLV timestamps are 1000Hz
15 * This is a multiple of all these numbers, so we can be always accurate
17 #define SWFDEC_TICKS_PER_SECOND G_GUINT64_CONSTANT (44100 * 256 * 10)
18 typedef guint64 SwfdecTick;
19 #define SWFDEC_MSECS_TO_TICKS(msecs) ((SwfdecTick) (msecs) * (SWFDEC_TICKS_PER_SECOND / 1000))
20 #define SWFDEC_TICKS_TO_MSECS(ticks) ((ticks) / (SWFDEC_TICKS_PER_SECOND / 1000))
21 #define SWFDEC_SAMPLES_TO_TICKS(msecs) ((SwfdecTick) (msecs) * (SWFDEC_TICKS_PER_SECOND / 44100))
22 #define SWFDEC_TICKS_TO_SAMPLES(ticks) ((ticks) / (SWFDEC_TICKS_PER_SECOND / 44100))
24 #define SWFDEC_TWIPS_SCALE_FACTOR 20
25 typedef int SwfdecTwips;
26 #define SWFDEC_TWIPS_TO_DOUBLE(t) ((t) * (1.0 / SWFDEC_TWIPS_SCALE_FACTOR))
27 #define SWFDEC_DOUBLE_TO_TWIPS(d) ((SwfdecTwips)((d) * SWFDEC_TWIPS_SCALE_FACTOR))
29 #define SWFDEC_FIXED_SCALE_FACTOR 65536
30 typedef int SwfdecFixed;
31 #define SWFDEC_FIXED_TO_DOUBLE(f) ((f) * (1.0 / SWFDEC_FIXED_SCALE_FACTOR))
32 #define SWFDEC_DOUBLE_TO_FIXED(d) ((SwfdecFixed)((d) * SWFDEC_FIXED_SCALE_FACTOR))
33 #define SWFDEC_FIXED_TO_INT(f) ((f) / SWFDEC_FIXED_SCALE_FACTOR)
34 #define SWFDEC_INT_TO_FIXED(i) ((i) * SWFDEC_FIXED_SCALE_FACTOR)
36 typedef struct _SwfdecActor SwfdecActor;
37 typedef struct _SwfdecButton SwfdecButton;
38 typedef struct _SwfdecCharacter SwfdecCharacter;
39 typedef struct _SwfdecColorTransform SwfdecColorTransform;
40 typedef struct _SwfdecDecoder SwfdecDecoder;
41 typedef struct _SwfdecDisplayObject SwfdecDisplayObject;
42 typedef struct _SwfdecDisplayObjectContainer SwfdecDisplayObjectContainer;
43 typedef struct _SwfdecDraw SwfdecDraw;
44 typedef struct _SwfdecEventDispatcher SwfdecEventDispatcher;
45 typedef struct _SwfdecEventList SwfdecEventList;
46 typedef struct _SwfdecFilter SwfdecFilter;
47 typedef struct _SwfdecFont SwfdecFont;
48 typedef struct _SwfdecGraphic SwfdecGraphic;
49 typedef struct _SwfdecImage SwfdecImage;
50 typedef struct _SwfdecInteractiveObject SwfdecInteractiveObject;
51 typedef struct _SwfdecListener SwfdecListener;
52 typedef struct _SwfdecMovie SwfdecMovie;
53 typedef struct _SwfdecMovieClipLoader SwfdecMovieClipLoader;
54 typedef struct _SwfdecShape SwfdecShape;
55 typedef struct _SwfdecShapeVec SwfdecShapeVec;
56 typedef struct _SwfdecRect SwfdecRect;
57 typedef struct _SwfdecResource SwfdecResource;
58 typedef struct _SwfdecRootSprite SwfdecRootSprite;
59 typedef struct _SwfdecSandbox SwfdecSandbox;
60 typedef struct _SwfdecScriptable SwfdecScriptable;
61 typedef struct _SwfdecSound SwfdecSound;
62 typedef struct _SwfdecSoundChunk SwfdecSoundChunk;
63 typedef struct _SwfdecSprite SwfdecSprite;
64 typedef struct _SwfdecSpriteFrame SwfdecSpriteFrame;
65 typedef struct _SwfdecSpriteMovie SwfdecSpriteMovie;
66 typedef struct _SwfdecSwfDecoder SwfdecSwfDecoder;
67 typedef struct _SwfdecText SwfdecText;
69 G_END_DECLS
70 #endif