Pleora Technologies Inc. eBUS SDK v5.1.10.4642 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 }; // namespace PvAppUtilsLib
22 
23 class PvBuffer;
24 class PvPipeline;
26 
27 
28 class PV_APPUTILS_API PvDisplayThread
29 {
30 public:
31 
33  virtual ~PvDisplayThread();
34 
35  PvResult Start( PvPipeline *aPipeline, PvGenParameterArray *aParameters );
36  PvResult Stop( bool aWait );
37  PvResult WaitComplete();
38  bool IsRunning() const;
39 
40  uint32_t GetPriority() const;
41  PvResult SetPriority( uint32_t aPriority );
42 
43  PvBuffer *RetrieveLatestBuffer();
44  void ReleaseLatestBuffer();
45 
46  bool GetKeepPartialImagesEnabled() const;
47  void SetKeepPartialImagesEnabled( bool aEnabled );
48 
49  bool GetBufferLogErrorEnabled() const;
50  void SetBufferLogErrorEnabled( bool aValue );
51 
52  bool GetBufferLogAllEnabled() const;
53  void SetBufferLogAllEnabled( bool aValue );
54 
55  bool GetChunkLogEnabled() const;
56  void SetChunkLogEnabled( bool aValue );
57 
58  PvDeinterlacingType GetDeinterlacing() const;
59  void SetDeinterlacing( PvDeinterlacingType aValue );
60 
61  uint32_t GetFPS() const;
62  uint32_t GetTargetFPS() const;
63  void SetTargetFPS( uint32_t aValue );
64 
65  bool GetVSyncEnabled() const;
66  void SetVSyncEnabled( bool aEnabled );
67 
68  bool GetDisplayChunkDataEnabled() const;
69  void SetDisplayChunkDataEnabled( bool aEnabled );
70 
71  PvTapGeometryEnum GetTapGeometry() const;
72  void SetTapGeometry( PvTapGeometryEnum aGeometry );
73 
74  void ResetStatistics();
75 
76  virtual PvResult Save( PvPropertyList &aPropertyList );
77  virtual PvResult Load( PvPropertyList &aPropertyList );
78 
79 protected:
80 
81  virtual void OnBufferRetrieved( PvBuffer *aBuffer );
82  virtual void OnBufferDisplay( PvBuffer *aBuffer );
83  virtual void OnBufferDone( PvBuffer *aBuffer );
84  virtual void OnBufferLog( const PvString &aLog );
85  virtual void OnBufferTextOverlay( const PvString &aText );
86 
87 private:
88 
89  PvAppUtilsLib::DisplayThread *mThis;
90  friend class PvAppUtilsLib::DisplayThreadProxy;
91 
92  // Not implemented
94  const PvDisplayThread &operator=( const PvDisplayThread & );
95 
96 };
97 
98 #endif
Tap geometry types definition.
Helper class for receiving data from a GigE Vision or USB3 Vision transmitter.
Definition: PvPipeline.h:22
String class.
Definition: PvString.h:21
PvTapGeometryEnum
Tap geoemtry enumeration type.
Definition: PvTapGeometry.h:11
Result information.
Definition: PvResult.h:13
PvDeinterlacingType
Various deinterlacing options that can be used to configure PvDisplayThread.
Definition: PvDeinterlacingType.h:11
Thread taking buffers out of a PvPipeline in order to display them.
Definition: PvDisplayThread.h:28
Definition: PvAcquisitionStateManager.h:14
Class used to hold a group of PvProperty objects.
Definition: PvPropertyList.h:21
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:37
GenICam feature array.
Definition: PvGenParameterArray.h:38

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