Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cpdf_formcontrol.h
Go to the documentation of this file.
1// Copyright 2016 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7#ifndef CORE_FPDFDOC_CPDF_FORMCONTROL_H_
8#define CORE_FPDFDOC_CPDF_FORMCONTROL_H_
9
10#include <optional>
11
12#include "constants/appearance.h"
13#include "core/fpdfdoc/cpdf_aaction.h"
14#include "core/fpdfdoc/cpdf_action.h"
15#include "core/fpdfdoc/cpdf_annot.h"
16#include "core/fpdfdoc/cpdf_annotlist.h"
17#include "core/fpdfdoc/cpdf_apsettings.h"
18#include "core/fpdfdoc/cpdf_defaultappearance.h"
19#include "core/fpdfdoc/cpdf_formfield.h"
20#include "core/fpdfdoc/cpdf_iconfit.h"
21#include "core/fxcrt/fx_coordinates.h"
22#include "core/fxcrt/fx_string.h"
23#include "core/fxcrt/retain_ptr.h"
24#include "core/fxcrt/unowned_ptr.h"
25#include "core/fxge/cfx_color.h"
26#include "core/fxge/dib/fx_dib.h"
27
29class CPDF_Dictionary;
30class CPDF_Font;
31class CPDF_FormField;
33class CPDF_Stream;
34
36 public:
38
40 RetainPtr<CPDF_Dictionary> pWidgetDict,
43
44 CPDF_FormField::Type GetType() const { return m_pField->GetType(); }
45 CPDF_FormField* GetField() const { return m_pField; }
47 return m_pWidgetDict;
48 }
49 CFX_FloatRect GetRect() const;
50
53
54 bool IsChecked() const;
55 bool IsDefaultChecked() const;
56
58 bool HasMKEntry(const ByteString& csEntry) const;
59 int GetRotation() const;
60
62 float GetOriginalColorComponent(int index, const ByteString& csEntry);
63
65 return GetOriginalColor(pdfium::appearance::kBC);
66 }
67
69 return GetOriginalColor(pdfium::appearance::kBG);
70 }
71
73 return GetCaption(pdfium::appearance::kCA);
74 }
76 return GetCaption(pdfium::appearance::kRC);
77 }
79 return GetCaption(pdfium::appearance::kAC);
80 }
81
82 RetainPtr<CPDF_Stream> GetNormalIcon() {
83 return GetIcon(pdfium::appearance::kI);
84 }
85 RetainPtr<CPDF_Stream> GetRolloverIcon() {
86 return GetIcon(pdfium::appearance::kRI);
87 }
88 RetainPtr<CPDF_Stream> GetDownIcon() {
89 return GetIcon(pdfium::appearance::kIX);
90 }
92
93 int GetTextPosition() const;
95
96 std::optional<WideString> GetDefaultControlFontName() const;
97 int GetControlAlignment() const;
98
100 void CheckControl(bool bChecked);
101
102 private:
103 RetainPtr<CPDF_Font> GetDefaultControlFont() const;
104 CFX_Color GetOriginalColor(const ByteString& csEntry);
105
106 WideString GetCaption(const ByteString& csEntry) const;
107 RetainPtr<CPDF_Stream> GetIcon(const ByteString& csEntry);
108 CPDF_ApSettings GetMK() const;
109
110 UnownedPtr<CPDF_FormField> const m_pField;
111 RetainPtr<CPDF_Dictionary> const m_pWidgetDict;
112 UnownedPtr<const CPDF_InteractiveForm> const m_pForm;
113};
114
115#endif // CORE_FPDFDOC_CPDF_FORMCONTROL_H_
fxcrt::ByteString ByteString
Definition bytestring.h:180
CFX_Color GetOriginalColor(const ByteString &csEntry) const
bool HasMKEntry(const ByteString &csEntry) const
int GetRotation() const
RetainPtr< CPDF_Stream > GetIcon(const ByteString &csEntry) const
CPDF_ApSettings(const CPDF_ApSettings &that)
CPDF_IconFit GetIconFit() const
WideString GetCaption(const ByteString &csEntry) const
float GetOriginalColorComponent(int index, const ByteString &csEntry) const
CFX_Color::TypeAndARGB GetColorARGB(const ByteString &csEntry) const
CPDF_ApSettings(RetainPtr< CPDF_Dictionary > pDict)
int GetTextPosition() const
std::vector< RetainPtr< CPDF_Object > >::const_iterator const_iterator
Definition cpdf_array.h:29
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
CPDF_FormField::Type GetType() const
WideString GetExportValue() const
int GetControlAlignment() const
bool HasMKEntry(const ByteString &csEntry) const
CFX_FloatRect GetRect() const
RetainPtr< CPDF_Stream > GetDownIcon()
WideString GetDownCaption() const
RetainPtr< CPDF_Stream > GetNormalIcon()
HighlightingMode GetHighlightingMode() const
float GetOriginalColorComponent(int index, const ByteString &csEntry)
WideString GetRolloverCaption() const
CFX_Color GetOriginalBackgroundColor()
std::optional< WideString > GetDefaultControlFontName() const
CPDF_FormField * GetField() const
RetainPtr< const CPDF_Dictionary > GetWidgetDict() const
WideString GetNormalCaption() const
ByteString GetCheckedAPState() const
ByteString GetOnStateName() const
CPDF_IconFit GetIconFit() const
CPDF_DefaultAppearance GetDefaultAppearance() const
CFX_Color::TypeAndARGB GetColorARGB(const ByteString &csEntry)
RetainPtr< CPDF_Stream > GetRolloverIcon()
void CheckControl(bool bChecked)
CFX_Color GetOriginalBorderColor()
bool IsDefaultChecked() const
CPDF_FormControl(CPDF_FormField *pField, RetainPtr< CPDF_Dictionary > pWidgetDict, CPDF_InteractiveForm *pForm)
int GetTextPosition() const
ScaleMethod GetScaleMethod() const
bool GetFittingBounds() const
CFX_VectorF GetImageOffset(const CFX_SizeF &image_size, const CFX_VectorF &scale, const CFX_FloatRect &rcPlate) const
CFX_PointF GetIconBottomLeftPosition() const
bool IsProportionalScale() const
CFX_VectorF GetScale(const CFX_SizeF &image_size, const CFX_FloatRect &rcPlate) const
CPDF_IconFit(RetainPtr< const CPDF_Dictionary > pDict)
CPDF_IconFit(const CPDF_IconFit &that)
#define TEXTPOS_CAPTION
CFX_VTemplate< float > CFX_VectorF
CFX_PTemplate< float > CFX_PointF
CFX_STemplate< float > CFX_SizeF
constexpr FX_ARGB ArgbEncode(uint32_t a, uint32_t r, uint32_t g, uint32_t b)
Definition fx_dib.h:188
const char kRC[]
const char kIX[]
const char kBC[]
const char kAC[]
const char kCA[]
const char kI[]
const char kBG[]
const char kRI[]
TypeAndARGB(CFX_Color::Type type_in, FX_ARGB argb_in)
Definition cfx_color.h:17
constexpr CFX_Color(Type type=CFX_Color::Type::kTransparent, float color1=0.0f, float color2=0.0f, float color3=0.0f, float color4=0.0f)
Definition cfx_color.h:27
fxcrt::WideString WideString
Definition widestring.h:207