diff options
author | weili <weili@chromium.org> | 2016-08-08 17:30:37 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-08 17:30:37 -0700 |
commit | 5d8e5aa882fe8d37d32b71137f039165581ddb82 (patch) | |
tree | a0a2b0efa1ee6f8fd06c964f4b9cda5f551c74ae /xfa/fwl/lightwidget/cfwl_barcode.h | |
parent | b6befb2ed2485a3805cddea86dc7574510178ea9 (diff) | |
download | pdfium-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.h | 6 |
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; |