OverlayImage.h
1 //##################################################################################################
2 //
3 // Ceetron Desktop Components
4 // Component: Visualization
5 //
6 // --------------------------------------------------------------------------------------------
7 // Copyright (C) 2011, Ceetron AS
8 // This is UNPUBLISHED PROPRIETARY SOURCE CODE of Ceetron AS. The contents of this file may
9 // not be disclosed to third parties, copied or duplicated in any form, in whole or in part,
10 // without the prior written permission of Ceetron AS.
11 //##################################################################################################
12 
13 #pragma once
14 
15 #include "CeeVisualization/Base.h"
16 #include "CeeVisualization/OverlayItem.h"
17 #include <string>
18 
19 namespace cee {
20 class Image;
21 
22 namespace vis {
23 
24 //==================================================================================================
25 //
26 //
27 //
28 //==================================================================================================
29 class CEE_VIS_EXPORT OverlayImage : public OverlayItem
30 {
31 public:
32  enum Blending
33  {
36  TEXTURE_ALPHA
37  };
38 
39 public:
40  OverlayImage();
41  OverlayImage(Image* image);
42  virtual ~OverlayImage();
43 
44  virtual unsigned int width() const;
45  virtual unsigned int height() const;
46  void setSize(unsigned int width, unsigned int height);
47 
48  virtual int priority() const;
49  virtual void setPriority(int priority);
50 
51  const Image* image() const;
52  void setImage(Image* image);
53 
54  void setGlobalAlpha(float alpha);
55  float globalAlpha() const;
56 
57  void setBlendingMode(Blending mode);
58  Blending blendingMode() const;
59 
60 private:
61  virtual cvf::OverlayItem* internal_cvfOverlayItem();
62 
63 private:
64  CEE_PRIVATE_IMPL(OverlayImage);
65 };
66 
67 } // namespace vis
68 } // namespace cee
Stores an RGBA image with 8 bits per pixel.
Definition: Image.h:25
Namespace cee contains all functionality and structures under the Core component. ...
Definition: AppComponent.cpp:26
A view overlay item capable of showing an image with optional blending.
Definition: OverlayImage.h:29
Global alpha blending.
Definition: OverlayImage.h:35
Abstract interface for overlay items.
Definition: OverlayItem.h:31
No blending.
Definition: OverlayImage.h:34
Blending
Available modes are NO_BLENDING, GLOBAL_ALPHA and TEXTURE_ALPHA.
Definition: OverlayImage.h:32