Pleora Technologies Inc. eBUS SDK v7.0.1.7536 API



PvDisplayThread.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2010, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVDISPLAYTHREAD_H__
8 #define __PVDISPLAYTHREAD_H__
9 
10 #include <PvAppUtilsLib.h>
11 #include <PvPropertyList.h>
12 #include <PvDeinterlacingType.h>
13 #include <PvTapGeometry.h>
14 
15 
16 namespace PvAppUtilsLib
17 {
18  class DisplayThread;
19  class DisplayThreadProxy;
20 }
21 
22 class PvBuffer;
23 class PvPipeline;
25 
29 class PV_APPUTILS_API PvDisplayThread
30 {
31 public:
32 
37 
41  virtual ~PvDisplayThread();
42 
51  PvResult Start( PvPipeline *aPipeline, PvGenParameterArray *aParameters );
52 
59  PvResult Stop( bool aWait );
60 
66  PvResult WaitComplete();
68  bool IsRunning() const;
69 
75  uint32_t GetPriority() const;
76 
84  PvResult SetPriority( uint32_t aPriority );
85 
91  PvBuffer *RetrieveLatestBuffer();
92 
96  void ReleaseLatestBuffer();
97 
103  PvBuffer *RetrieveCompressedBuffer();
104 
106  void ReleaseCompressedBuffer();
107 
112  bool GetKeepPartialImagesEnabled() const;
113 
118  void SetKeepPartialImagesEnabled( bool aEnabled );
119 
121  bool GetBufferLogErrorEnabled() const;
122 
128  void SetBufferLogErrorEnabled( bool aValue );
129 
131  bool GetBufferLogAllEnabled() const;
132 
138  void SetBufferLogAllEnabled( bool aValue );
139 
141  bool GetChunkLogEnabled() const;
142 
148  void SetChunkLogEnabled( bool aValue );
149 
153  PvDeinterlacingType GetDeinterlacing() const;
154 
160  void SetDeinterlacing( PvDeinterlacingType aValue );
161 
163  uint32_t GetFPS() const;
164 
168  uint32_t GetTargetFPS() const;
169 
175  void SetTargetFPS( uint32_t aValue );
176 
182  bool GetVSyncEnabled() const;
183 
189  void SetVSyncEnabled( bool aEnabled );
190 
192  bool GetDisplayChunkDataEnabled() const;
193 
199  void SetDisplayChunkDataEnabled( bool aEnabled );
200 
202  PvTapGeometryEnum GetTapGeometry() const;
203 
209  void SetTapGeometry( PvTapGeometryEnum aGeometry );
210 
212  void ResetStatistics();
213 
221  virtual PvResult Save( PvPropertyList &aPropertyList );
222 
230  virtual PvResult Load( PvPropertyList &aPropertyList );
231 
232 protected:
233 
234  virtual void OnBufferRetrieved( PvBuffer *aBuffer );
235  virtual void OnBufferDisplay( PvBuffer *aBuffer );
236  virtual void OnBufferDone( PvBuffer *aBuffer );
237  virtual void OnBufferLog( const PvString &aLog );
238  virtual void OnBufferTextOverlay( const PvString &aText );
239 
240 private:
241 
242  PvAppUtilsLib::DisplayThread *mThis;
243  friend class PvAppUtilsLib::DisplayThreadProxy;
244 
245  // Not implemented
246  PvDisplayThread( const PvDisplayThread & );
247  const PvDisplayThread &operator=( const PvDisplayThread & );
248 };
249 
250 #endif
PvDeinterlacingType
Definition: PvDeinterlacingType.h:12
Tap geometry types definition.
PvTapGeometryEnum
Tap geometry enumeration type.
Definition: PvTapGeometry.h:24
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:111
Manages a display thread for rendering buffers and reporting callbacks.
Definition: PvDisplayThread.h:30
GenICam feature array.
Definition: PvGenParameterArray.h:73
Helper class for receiving data from a GigE Vision or USB3 Vision transmitter.
Definition: PvPipeline.h:33
Class used to hold a group of PvProperty objects.
Definition: PvPropertyList.h:21
Result information.
Definition: PvResult.h:30
String class.
Definition: PvString.h:26

Copyright (c) 2002-2026 Pleora Technologies Inc.
www.pleora.com