Pleora Technologies Inc. eBUS SDK v6.5.1.6797 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 
26 
27 class PV_APPUTILS_API PvDisplayThread
28 {
29 public:
30 
32  virtual ~PvDisplayThread();
33 
34  PvResult Start( PvPipeline *aPipeline, PvGenParameterArray *aParameters );
35  PvResult Stop( bool aWait );
36  PvResult WaitComplete();
37  bool IsRunning() const;
38 
39  uint32_t GetPriority() const;
40  PvResult SetPriority( uint32_t aPriority );
41 
42  PvBuffer *RetrieveLatestBuffer();
43  void ReleaseLatestBuffer();
44 
45  PvBuffer *RetrieveCompressedBuffer();
46  void ReleaseCompressedBuffer();
47 
48  bool GetKeepPartialImagesEnabled() const;
49  void SetKeepPartialImagesEnabled( bool aEnabled );
50 
51  bool GetBufferLogErrorEnabled() const;
52  void SetBufferLogErrorEnabled( bool aValue );
53 
54  bool GetBufferLogAllEnabled() const;
55  void SetBufferLogAllEnabled( bool aValue );
56 
57  bool GetChunkLogEnabled() const;
58  void SetChunkLogEnabled( bool aValue );
59 
60  PvDeinterlacingType GetDeinterlacing() const;
61  void SetDeinterlacing( PvDeinterlacingType aValue );
62 
63  uint32_t GetFPS() const;
64  uint32_t GetTargetFPS() const;
65  void SetTargetFPS( uint32_t aValue );
66 
67  bool GetVSyncEnabled() const;
68  void SetVSyncEnabled( bool aEnabled );
69 
70  bool GetDisplayChunkDataEnabled() const;
71  void SetDisplayChunkDataEnabled( bool aEnabled );
72 
73  PvTapGeometryEnum GetTapGeometry() const;
74  void SetTapGeometry( PvTapGeometryEnum aGeometry );
75 
76  void ResetStatistics();
77 
78  virtual PvResult Save( PvPropertyList &aPropertyList );
79  virtual PvResult Load( PvPropertyList &aPropertyList );
80 
81 protected:
82 
83  virtual void OnBufferRetrieved( PvBuffer *aBuffer );
84  virtual void OnBufferDisplay( PvBuffer *aBuffer );
85  virtual void OnBufferDone( PvBuffer *aBuffer );
86  virtual void OnBufferLog( const PvString &aLog );
87  virtual void OnBufferTextOverlay( const PvString &aText );
88 
89 private:
90 
91  PvAppUtilsLib::DisplayThread *mThis;
92  friend class PvAppUtilsLib::DisplayThreadProxy;
93 
94  // Not implemented
96  const PvDisplayThread &operator=( const PvDisplayThread & );
97 
98 };
99 
100 #endif
PvDeinterlacingType
Definition: PvDeinterlacingType.h:12
Tap geometry types definition.
PvTapGeometryEnum
Tap geoemtry enumeration type.
Definition: PvTapGeometry.h:117
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:97
Thread taking buffers out of a PvPipeline in order to display them.
Definition: PvDisplayThread.h:28
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-2024 Pleora Technologies Inc.
www.pleora.com