1*d1766043SAndrew Rist/************************************************************** 2cdf0e10cSrcweir * 3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*d1766043SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*d1766043SAndrew Rist * distributed with this work for additional information 6*d1766043SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance 9*d1766043SAndrew Rist * with the License. You may obtain a copy of the License at 10*d1766043SAndrew Rist * 11*d1766043SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*d1766043SAndrew Rist * 13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*d1766043SAndrew Rist * software distributed under the License is distributed on an 15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*d1766043SAndrew Rist * KIND, either express or implied. See the License for the 17*d1766043SAndrew Rist * specific language governing permissions and limitations 18*d1766043SAndrew Rist * under the License. 19*d1766043SAndrew Rist * 20*d1766043SAndrew Rist *************************************************************/ 21*d1766043SAndrew Rist 22*d1766043SAndrew Rist 23cdf0e10cSrcweir#ifndef __com_sun_star_awt_XImageConsumer_idl__ 24cdf0e10cSrcweir#define __com_sun_star_awt_XImageConsumer_idl__ 25cdf0e10cSrcweir 26cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__ 27cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl> 28cdf0e10cSrcweir#endif 29cdf0e10cSrcweir 30cdf0e10cSrcweir//============================================================================= 31cdf0e10cSrcweir 32cdf0e10cSrcweir module com { module sun { module star { module awt { 33cdf0e10cSrcweir 34cdf0e10cSrcweir published interface XImageProducer; 35cdf0e10cSrcweir 36cdf0e10cSrcweir//============================================================================= 37cdf0e10cSrcweir 38cdf0e10cSrcweir/** specifies a data sink for an image. 39cdf0e10cSrcweir 40cdf0e10cSrcweir <p>An image consumer is a component which wants to display or just 41cdf0e10cSrcweir receive an image from an image producer.</p> 42cdf0e10cSrcweir 43cdf0e10cSrcweir @see XImageProducer 44cdf0e10cSrcweir */ 45cdf0e10cSrcweirpublished interface XImageConsumer: com::sun::star::uno::XInterface 46cdf0e10cSrcweir{ 47cdf0e10cSrcweir //------------------------------------------------------------------------- 48cdf0e10cSrcweir 49cdf0e10cSrcweir /** initializes the consumer with image dimensions. 50cdf0e10cSrcweir */ 51cdf0e10cSrcweir [oneway] void init( [in] long Width, 52cdf0e10cSrcweir [in] long Height ); 53cdf0e10cSrcweir 54cdf0e10cSrcweir //------------------------------------------------------------------------- 55cdf0e10cSrcweir 56cdf0e10cSrcweir /** changes color model for next pixels 57cdf0e10cSrcweir typically called once after initialization. 58cdf0e10cSrcweir */ 59cdf0e10cSrcweir [oneway] void setColorModel( [in] short BitCount, 60cdf0e10cSrcweir [in] sequence<long> RGBAPal, 61cdf0e10cSrcweir [in] long RedMask, 62cdf0e10cSrcweir [in] long GreenMask, 63cdf0e10cSrcweir [in] long BlueMask, 64cdf0e10cSrcweir [in] long AlphaMask ); 65cdf0e10cSrcweir 66cdf0e10cSrcweir //------------------------------------------------------------------------- 67cdf0e10cSrcweir 68cdf0e10cSrcweir /** delivers a chunk of pixels as <atom>long</atom> values. 69cdf0e10cSrcweir 70cdf0e10cSrcweir <p>The pixels of the image are delivered using one or more calls 71cdf0e10cSrcweir to this method. Each call specifies the location and size of the 72cdf0e10cSrcweir rectangle of source pixels that are contained in the array of pixels. 73cdf0e10cSrcweir The specified color model object should be used to convert 74cdf0e10cSrcweir the pixels into their corresponding color and alpha components. Pixel 75cdf0e10cSrcweir (m,n) is stored in the pixels array at index (n * <var>nScanSize</var> 76cdf0e10cSrcweir + m + nOffset).</p> 77cdf0e10cSrcweir */ 78cdf0e10cSrcweir [oneway] void setPixelsByBytes( [in] long nX, 79cdf0e10cSrcweir [in] long nY, 80cdf0e10cSrcweir [in] long nWidth, 81cdf0e10cSrcweir [in] long nHeight, 82cdf0e10cSrcweir [in] sequence<byte> aProducerData, 83cdf0e10cSrcweir [in] long nOffset, 84cdf0e10cSrcweir [in] long nScanSize ); 85cdf0e10cSrcweir 86cdf0e10cSrcweir //------------------------------------------------------------------------- 87cdf0e10cSrcweir 88cdf0e10cSrcweir /** delivers a chunk of pixels as <atom>byte</atom> values. 89cdf0e10cSrcweir 90cdf0e10cSrcweir <p>The pixels of the image are delivered using one or more calls 91cdf0e10cSrcweir to this method. Each call specifies the location and size of the 92cdf0e10cSrcweir rectangle of source pixels that are contained in the array of pixels. 93cdf0e10cSrcweir The specified color model object should be used to convert 94cdf0e10cSrcweir the pixels into their corresponding color and alpha components. Pixel 95cdf0e10cSrcweir (m,n) is stored in the pixels array at index (n * <var>nScanSize</var> 96cdf0e10cSrcweir + m + nOffset).</p> 97cdf0e10cSrcweir */ 98cdf0e10cSrcweir [oneway] void setPixelsByLongs( [in] long nX, 99cdf0e10cSrcweir [in] long nY, 100cdf0e10cSrcweir [in] long nWidth, 101cdf0e10cSrcweir [in] long nHeight, 102cdf0e10cSrcweir [in] sequence<long> aProducerData, 103cdf0e10cSrcweir [in] long nOffset, 104cdf0e10cSrcweir [in] long nScanSize ); 105cdf0e10cSrcweir 106cdf0e10cSrcweir //------------------------------------------------------------------------- 107cdf0e10cSrcweir 108cdf0e10cSrcweir /** is called for the notification of the degree to which the 109cdf0e10cSrcweir image is delivered. 110cdf0e10cSrcweir 111cdf0e10cSrcweir <p>The complete method is called when the image producer 112cdf0e10cSrcweir has finished delivering all of the pixels that the source image 113cdf0e10cSrcweir contains, or when a single frame of a multi-frame animation has 114cdf0e10cSrcweir been completed, or when an error in loading or producing the 115cdf0e10cSrcweir image has occurred. The image consumer should remove itself from the 116cdf0e10cSrcweir list of consumers registered with the image producer 117cdf0e10cSrcweir at this time, unless it is interested in successive frames.</p> 118cdf0e10cSrcweir */ 119cdf0e10cSrcweir [oneway] void complete( [in] long Status, 120cdf0e10cSrcweir [in] XImageProducer xProducer ); 121cdf0e10cSrcweir 122cdf0e10cSrcweir}; 123cdf0e10cSrcweir 124cdf0e10cSrcweir//============================================================================= 125cdf0e10cSrcweir 126cdf0e10cSrcweir}; }; }; }; 127cdf0e10cSrcweir 128cdf0e10cSrcweir#endif 129