summaryrefslogtreecommitdiffstats
path: root/image/imgINotificationObserver.idl
diff options
context:
space:
mode:
Diffstat (limited to 'image/imgINotificationObserver.idl')
-rw-r--r--image/imgINotificationObserver.idl58
1 files changed, 58 insertions, 0 deletions
diff --git a/image/imgINotificationObserver.idl b/image/imgINotificationObserver.idl
new file mode 100644
index 000000000..abf62535b
--- /dev/null
+++ b/image/imgINotificationObserver.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface imgIRequest;
+
+%{C++
+#include "nsRect.h"
+%}
+
+[ptr] native nsIntRect(nsIntRect);
+
+[scriptable, builtinclass, uuid(03da5641-a333-454a-a859-036d0bb683b7)]
+interface imgINotificationObserver : nsISupports
+{
+ // GetWidth() and GetHeight() can now be used to retrieve the size of the
+ // image.
+ const long SIZE_AVAILABLE = 1;
+
+ // A region of the image (indicated by the |aRect| argument to |notify|) has
+ // changed, and needs to be redrawn. This is triggered both for incremental
+ // rendering as the image gets decoded and for changes due to animation.
+ const long FRAME_UPDATE = 2;
+
+ // The first frame of the image is now decoded and ready to draw.
+ const long FRAME_COMPLETE = 3;
+
+ // The entire image has been loaded. That doesn't mean that it has been
+ // decoded, but it does mean that imgIContainer::Draw is guaranteed to succeed
+ // (modulo decode errors, at least) if you specify FLAG_SYNC_DECODE.
+ const long LOAD_COMPLETE = 4;
+
+ // The entire image has been decoded.
+ const long DECODE_COMPLETE = 5;
+
+ // The decoded version of the image has been discarded. Content should never
+ // change as a result of this notification - discarding is an implementation
+ // detail. This notification should normally only be observed by tests.
+ const long DISCARD = 6;
+
+ // The image was drawn without being locked. This notification is part of the
+ // image locking mechanism that prevents visible images from being discarded;
+ // generally only image locking code needs to observe it.
+ const long UNLOCKED_DRAW = 7;
+
+ // The image is animated.
+ const long IS_ANIMATED = 8;
+
+ // The image is transparent.
+ const long HAS_TRANSPARENCY = 9;
+
+ [noscript] void notify(in imgIRequest aProxy, in long aType,
+ [const] in nsIntRect aRect);
+};