summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/awt/XImageConsumer.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/awt/XImageConsumer.idl116
1 files changed, 116 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/XImageConsumer.idl b/offapi/com/sun/star/awt/XImageConsumer.idl
new file mode 100644
index 000000000..54b3a08d3
--- /dev/null
+++ b/offapi/com/sun/star/awt/XImageConsumer.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * 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/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_awt_XImageConsumer_idl__
+#define __com_sun_star_awt_XImageConsumer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module awt {
+
+ published interface XImageProducer;
+
+
+/** specifies a data sink for an image.
+
+ <p>An image consumer is a component which wants to display or just
+ receive an image from an image producer.</p>
+
+ @see XImageProducer
+ */
+published interface XImageConsumer: com::sun::star::uno::XInterface
+{
+
+ /** initializes the consumer with image dimensions.
+ */
+ void init( [in] long Width,
+ [in] long Height );
+
+
+ /** changes color model for next pixels
+ typically called once after initialization.
+ */
+ void setColorModel( [in] short BitCount,
+ [in] sequence<long> RGBAPal,
+ [in] long RedMask,
+ [in] long GreenMask,
+ [in] long BlueMask,
+ [in] long AlphaMask );
+
+
+ /** delivers a chunk of pixels as `long` values.
+
+ <p>The pixels of the image are delivered using one or more calls
+ to this method. Each call specifies the location and size of the
+ rectangle of source pixels that are contained in the array of pixels.
+ The specified color model object should be used to convert
+ the pixels into their corresponding color and alpha components. Pixel
+ (m,n) is stored in the pixels array at index (n * <var>nScanSize</var>
+ + m + nOffset).</p>
+ */
+ void setPixelsByBytes( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight,
+ [in] sequence<byte> aProducerData,
+ [in] long nOffset,
+ [in] long nScanSize );
+
+
+ /** delivers a chunk of pixels as `byte` values.
+
+ <p>The pixels of the image are delivered using one or more calls
+ to this method. Each call specifies the location and size of the
+ rectangle of source pixels that are contained in the array of pixels.
+ The specified color model object should be used to convert
+ the pixels into their corresponding color and alpha components. Pixel
+ (m,n) is stored in the pixels array at index (n * <var>nScanSize</var>
+ + m + nOffset).</p>
+ */
+ void setPixelsByLongs( [in] long nX,
+ [in] long nY,
+ [in] long nWidth,
+ [in] long nHeight,
+ [in] sequence<long> aProducerData,
+ [in] long nOffset,
+ [in] long nScanSize );
+
+
+ /** is called for the notification of the degree to which the
+ image is delivered.
+
+ <p>The complete method is called when the image producer
+ has finished delivering all of the pixels that the source image
+ contains, or when a single frame of a multi-frame animation has
+ been completed, or when an error in loading or producing the
+ image has occurred. The image consumer should remove itself from the
+ list of consumers registered with the image producer
+ at this time, unless it is interested in successive frames.</p>
+ */
+ void complete( [in] long Status,
+ [in] XImageProducer xProducer );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */