comparison dwt/internal/mozilla/imgIContainer.d @ 272:dd63eb078d7a

xpcom interfaces necessary for browser code -- source adapted from dxpcom project; these modules still need to be tested and then integrated into dwt browser.
author John Reimer<terminal.node@gmail.com>
date Fri, 18 Jul 2008 05:32:53 -0700
parents
children 942da4b6558a
comparison
equal deleted inserted replaced
271:d472fae79005 272:dd63eb078d7a
1 module dwt.internal.mozilla.imgIContainer;
2
3 import dwt.internal.mozilla.Common;
4 import dwt.internal.mozilla.nsID;
5 import dwt.internal.mozilla.nsISupports;
6
7 import dwt.internal.mozilla.gfxIImageFrame;
8 import dwt.internal.mozilla.imgIContainerObserver;
9
10 const char[] IMGICONTAINER_IID_STR = "1a6290e6-8285-4e10-963d-d001f8d327b8";
11
12 const nsIID IMGICONTAINER_IID=
13 {0x1a6290e6, 0x8285, 0x4e10,
14 [ 0x96, 0x3d, 0xd0, 0x01, 0xf8, 0xd3, 0x27, 0xb8 ]};
15
16 extern(System)
17
18 interface imgIContainer : nsISupports {
19
20 static const char[] IID_STR = IMGICONTAINER_IID_STR;
21 static const nsIID IID = IMGICONTAINER_IID;
22
23 nsresult Init(PRInt32 aWidth, PRInt32 aHeight, imgIContainerObserver aObserver);
24 nsresult GetPreferredAlphaChannelFormat(gfx_format *aPreferredAlphaChannelFormat);
25 nsresult GetWidth(PRInt32 *aWidth);
26 nsresult GetHeight(PRInt32 *aHeight);
27 nsresult GetCurrentFrame(gfxIImageFrame *aCurrentFrame);
28 nsresult GetNumFrames(PRUint32 *aNumFrames);
29
30 enum { kNormalAnimMode = 0 };
31 enum { kDontAnimMode = 1 };
32 enum { kLoopOnceAnimMode = 2 };
33
34 nsresult GetAnimationMode(PRUint16 *aAnimationMode);
35 nsresult SetAnimationMode(PRUint16 aAnimationMode);
36 nsresult GetFrameAt(PRUint32 index, gfxIImageFrame *_retval);
37 nsresult AppendFrame(gfxIImageFrame item);
38 nsresult RemoveFrame(gfxIImageFrame item);
39 nsresult EndFrameDecode(PRUint32 framenumber, PRUint32 timeout);
40 nsresult DecodingComplete();
41 nsresult Clear();
42 nsresult StartAnimation();
43 nsresult StopAnimation();
44 nsresult ResetAnimation();
45 nsresult GetLoopCount(PRInt32 *aLoopCount);
46 nsresult SetLoopCount(PRInt32 aLoopCount);
47
48 }
49