![]() |
00001 //--------------------------------------------------------------------------------------- 00002 // Copyright (c) 2001-2010 by PDFTron Systems Inc. All Rights Reserved. 00003 // Consult legal.txt regarding legal and license information. 00004 //--------------------------------------------------------------------------------------- 00005 00006 #ifndef H_CPPPDFOCGOCMD 00007 #define H_CPPPDFOCGOCMD 00008 00009 #include <C/PDF/OCG/TRN_OCMD.h> 00010 #include <Common/BasicTypes.h> 00011 00012 namespace pdftron { 00013 namespace PDF { 00014 namespace OCG { 00015 00031 class OCMD 00032 { 00033 public: 00034 00041 enum VisibilityPolicyType { 00042 e_AllOn, 00043 e_AnyOn, 00044 e_AnyOff, 00045 e_AllOff 00046 }; 00047 00059 static OCMD Create(PDFDoc& doc, SDF::Obj ocgs, VisibilityPolicyType vis_policy); 00060 00065 OCMD(SDF::Obj ocmd); 00066 00070 bool IsValid() const; 00071 00079 SDF::Obj GetOCGs() const; 00080 00088 VisibilityPolicyType GetVisibilityPolicy() const; 00089 00096 void SetVisibilityPolicy(VisibilityPolicyType vis_policy); 00097 00102 SDF::Obj GetVisibilityExpression() const; 00103 00115 bool IsCurrentlyVisible(const class Context& context) const; 00116 00120 SDF::Obj GetSDFObj () const; 00121 00125 OCMD (const OCMD& g); 00126 OCMD& operator=(const OCMD& g); 00127 00129 OCMD(TRN_OCMD o) : mp_obj(o) {} 00130 TRN_OCMD mp_obj; 00132 }; 00133 00134 }; // namespace OCG 00135 }; // namespace PDF 00136 }; // namespace pdftron 00137 00138 #endif