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

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