summaryrefslogtreecommitdiff
path: root/xfa/fwl/lightwidget/cfwl_barcode.h
diff options
context:
space:
mode:
authorweili <weili@chromium.org>2016-08-08 17:30:37 -0700
committerCommit bot <commit-bot@chromium.org>2016-08-08 17:30:37 -0700
commit5d8e5aa882fe8d37d32b71137f039165581ddb82 (patch)
treea0a2b0efa1ee6f8fd06c964f4b9cda5f551c74ae /xfa/fwl/lightwidget/cfwl_barcode.h
parentb6befb2ed2485a3805cddea86dc7574510178ea9 (diff)
downloadpdfium-5d8e5aa882fe8d37d32b71137f039165581ddb82.tar.xz
Use virtual function to retrieve interface pointer
Use virtual function to return the actual interface type instead of the base interface type to avoid a lot of casts. Also tidy up CFWL_Widget by encapsulating variables, and use smart pointers for class owned member variables. Review-Url: https://codereview.chromium.org/2209153002
Diffstat (limited to 'xfa/fwl/lightwidget/cfwl_barcode.h')
-rw-r--r--xfa/fwl/lightwidget/cfwl_barcode.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/xfa/fwl/lightwidget/cfwl_barcode.h b/xfa/fwl/lightwidget/cfwl_barcode.h
index 466ff6ed09..cf394f6167 100644
--- a/xfa/fwl/lightwidget/cfwl_barcode.h
+++ b/xfa/fwl/lightwidget/cfwl_barcode.h
@@ -17,6 +17,10 @@ class CFWL_WidgetProperties;
class CFWL_Barcode : public CFWL_Edit {
public:
static CFWL_Barcode* Create();
+
+ IFWL_Barcode* GetWidget() override;
+ const IFWL_Barcode* GetWidget() const override;
+
FWL_Error Initialize(const CFWL_WidgetProperties* pProperties = nullptr);
void SetType(BC_TYPE type);
FX_BOOL IsProtectedType();
@@ -36,7 +40,7 @@ class CFWL_Barcode : public CFWL_Edit {
void SetDataLength(int32_t dataLength) {
m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_DATALENGTH;
m_barcodeData.m_nDataLength = dataLength;
- static_cast<IFWL_Barcode*>(m_pIface)->SetLimit(dataLength);
+ GetWidget()->SetLimit(dataLength);
}
void SetCalChecksum(int32_t calChecksum) {
m_barcodeData.m_dwAttributeMask |= FWL_BCDATTRIBUTE_CALCHECKSUM;