1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _CPPCANVAS_BITMAP_HXX 25 #define _CPPCANVAS_BITMAP_HXX 26 27 #include <com/sun/star/uno/Reference.hxx> 28 29 #include <boost/shared_ptr.hpp> 30 #include <cppcanvas/canvasgraphic.hxx> 31 #include <cppcanvas/bitmapcanvas.hxx> 32 33 namespace com { namespace sun { namespace star { namespace rendering 34 { 35 class XBitmap; 36 } } } } 37 38 39 /* Definition of Bitmap interface */ 40 41 namespace cppcanvas 42 { 43 44 /** This interface defines a Bitmap canvas object 45 46 Consider this object part of the view, and not of the model 47 data, as this bitmap can only be painted on its parent canvas 48 */ 49 class Bitmap : public virtual CanvasGraphic 50 { 51 public: 52 /** Render to parent canvas, with global alpha. 53 54 This method renders the content to the parent canvas, 55 i.e. the canvas this object was constructed for. 56 57 @param nAlphaModulation 58 Global alpha value, with which each pixel alpha value gets 59 multiplied. For a normal, opaque bitmap, this will make 60 the bitmap appear transparent with the given alpha value 61 (value must be in the range [0,1]). 62 63 @return whether the rendering finished successfully. 64 */ 65 virtual bool drawAlphaModulated( double nAlphaModulation ) const = 0; 66 67 virtual BitmapCanvasSharedPtr getBitmapCanvas() const = 0; 68 69 virtual ::com::sun::star::uno::Reference< 70 ::com::sun::star::rendering::XBitmap > getUNOBitmap() const = 0; 71 }; 72 73 typedef ::boost::shared_ptr< ::cppcanvas::Bitmap > BitmapSharedPtr; 74 } 75 76 #endif /* _CPPCANVAS_BITMAP_HXX */ 77