LibreOffice Module vcl (master)  1
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Qt5Graphics_Controls Class Referencefinal

#include <Qt5Graphics_Controls.hxx>

Inheritance diagram for Qt5Graphics_Controls:
[legend]
Collaboration diagram for Qt5Graphics_Controls:
[legend]

Public Member Functions

 Qt5Graphics_Controls (const Qt5GraphicsBase &rGraphics)
 
QImage * getImage ()
 
bool isNativeControlSupported (ControlType nType, ControlPart nPart) override
 Query the platform layer for native control support. More...
 
bool hitTestNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, const Point &aPos, bool &rIsInside) override
 Query if a position is inside the native widget part. More...
 
bool drawNativeControl (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption) override
 Draw the requested control. More...
 
bool getNativeControlRegion (ControlType nType, ControlPart nPart, const tools::Rectangle &rControlRegion, ControlState nState, const ImplControlValue &aValue, const OUString &aCaption, tools::Rectangle &rNativeBoundingRegion, tools::Rectangle &rNativeContentRegion) override
 Get the native control regions for the control part. More...
 
- Public Member Functions inherited from vcl::WidgetDrawInterface
virtual ~WidgetDrawInterface () COVERITY_NOEXCEPT_FALSE
 
virtual bool updateSettings (AllSettings &rSettings)
 

Private Types

enum  Round {
  Round::Floor,
  Round::Ceil
}
 

Private Member Functions

void draw (QStyle::ControlElement element, QStyleOption *option, QImage *image, QStyle::State const state=QStyle::State_None, QRect rect=QRect())
 
void draw (QStyle::PrimitiveElement element, QStyleOption *option, QImage *image, QStyle::State const state=QStyle::State_None, QRect rect=QRect())
 
void draw (QStyle::ComplexControl element, QStyleOptionComplex *option, QImage *image, QStyle::State const state=QStyle::State_None)
 
void drawFrame (QStyle::PrimitiveElement element, QImage *image, QStyle::State const &state, bool bClip=true, QStyle::PixelMetric eLineMetric=QStyle::PM_DefaultFrameWidth)
 
void fullQStyleOptionTabWidgetFrame (QStyleOptionTabWidgetFrame &option, bool bDownscale)
 
int downscale (int value, Round eRound)
 
int upscale (int value, Round eRound)
 
QRect downscale (const QRect &rect)
 
QRect upscale (const QRect &rect)
 
QSize downscale (const QSize &size, Round eRound)
 
QSize upscale (const QSize &size, Round eRound)
 
QPoint upscale (const QPoint &point, Round eRound)
 

Static Private Member Functions

static int pixelMetric (QStyle::PixelMetric metric, const QStyleOption *option=nullptr)
 
static QSize sizeFromContents (QStyle::ContentsType type, const QStyleOption *option, const QSize &contentsSize)
 
static QRect subControlRect (QStyle::ComplexControl control, const QStyleOptionComplex *option, QStyle::SubControl subControl)
 
static QRect subElementRect (QStyle::SubElement element, const QStyleOption *option)
 
static void fillQStyleOptionTab (const ImplControlValue &value, QStyleOptionTab &sot)
 

Private Attributes

std::unique_ptr< QImage > m_image
 
QRect m_lastPopupRect
 
Qt5GraphicsBase const & m_rGraphics
 

Detailed Description

Definition at line 36 of file Qt5Graphics_Controls.hxx.

Member Enumeration Documentation

enum Qt5Graphics_Controls::Round
strongprivate
Enumerator
Floor 
Ceil 

Definition at line 81 of file Qt5Graphics_Controls.hxx.

Constructor & Destructor Documentation

Qt5Graphics_Controls::Qt5Graphics_Controls ( const Qt5GraphicsBase rGraphics)

Member Function Documentation

int Qt5Graphics_Controls::downscale ( int  value,
Round  eRound 
)
private
QRect Qt5Graphics_Controls::downscale ( const QRect &  rect)
private
QSize Qt5Graphics_Controls::downscale ( const QSize &  size,
Round  eRound 
)
private
void Qt5Graphics_Controls::draw ( QStyle::ControlElement  element,
QStyleOption *  option,
QImage *  image,
QStyle::State const  state = QStyle::State_None,
QRect  rect = QRect() 
)
private
void Qt5Graphics_Controls::draw ( QStyle::PrimitiveElement  element,
QStyleOption *  option,
QImage *  image,
QStyle::State const  state = QStyle::State_None,
QRect  rect = QRect() 
)
private
void Qt5Graphics_Controls::draw ( QStyle::ComplexControl  element,
QStyleOptionComplex *  option,
QImage *  image,
QStyle::State const  state = QStyle::State_None 
)
private
void Qt5Graphics_Controls::drawFrame ( QStyle::PrimitiveElement  element,
QImage *  image,
QStyle::State const &  state,
bool  bClip = true,
QStyle::PixelMetric  eLineMetric = QStyle::PM_DefaultFrameWidth 
)
private
bool Qt5Graphics_Controls::drawNativeControl ( ControlType  eType,
ControlPart  ePart,
const tools::Rectangle rBoundingControlRegion,
ControlState  eState,
const ImplControlValue aValue,
const OUString &  aCaptions 
)
overridevirtual

Draw the requested control.

Parameters
[in]eTypeThe widget type.
[in]ePartThe part of the widget.
[in]rBoundingControlRegionThe bounding rectangle of the complete control in VCL frame coordinates.
[in]eStateThe general state of the control (enabled, focused, etc.).
[in]aValueAddition control specific information.
[in]aCaptionA caption or title string (like button text etc.).
Returns
true, if the control could be drawn.

Reimplemented from vcl::WidgetDrawInterface.

static void Qt5Graphics_Controls::fillQStyleOptionTab ( const ImplControlValue value,
QStyleOptionTab &  sot 
)
staticprivate
void Qt5Graphics_Controls::fullQStyleOptionTabWidgetFrame ( QStyleOptionTabWidgetFrame &  option,
bool  bDownscale 
)
private
QImage* Qt5Graphics_Controls::getImage ( )
inline

Definition at line 45 of file Qt5Graphics_Controls.hxx.

bool Qt5Graphics_Controls::getNativeControlRegion ( ControlType  eType,
ControlPart  ePart,
const tools::Rectangle rBoundingControlRegion,
ControlState  eState,
const ImplControlValue aValue,
const OUString &  aCaption,
tools::Rectangle rNativeBoundingRegion,
tools::Rectangle rNativeContentRegion 
)
overridevirtual

Get the native control regions for the control part.

If the return value is true, rNativeBoundingRegion contains the true bounding region covered by the control including any adornment, while rNativeContentRegion contains the area within the control that can be safely drawn into without drawing over the borders of the control.

Parameters
[in]eTypeType of the widget.
[in]ePartSpecification of the widget's part if it consists of more than one.
[in]rBoundingControlRegionThe bounding region of the control in VCL frame coordinates.
[in]eStateThe general state of the control (enabled, focused, etc.).
[in]aValueAddition control specific information.
[in]aCaptionA caption or title string (like button text etc.).
[out]rNativeBoundingRegionThe region covered by the control including any adornment.
[out]rNativeContentRegionThe region within the control that can be safely drawn into.
Returns
true, if the regions are filled.

Reimplemented from vcl::WidgetDrawInterface.

bool Qt5Graphics_Controls::hitTestNativeControl ( ControlType  eType,
ControlPart  ePart,
const tools::Rectangle rBoundingControlRegion,
const Point aPos,
bool &  rIsInside 
)
overridevirtual

Query if a position is inside the native widget part.

Mainly used for scrollbars.

Parameters
[in]eTypeThe widget type.
[in]ePartThe part of the widget.
[in]rBoundingControlRegionThe bounding Rectangle of the complete control in VCL frame coordinates.
[in]aPosThe position to check the hit.
[out]rIsInsidetrue, if aPos was inside the native widget.
Returns
true, if the query was successful.

Reimplemented from vcl::WidgetDrawInterface.

bool Qt5Graphics_Controls::isNativeControlSupported ( ControlType  eType,
ControlPart  ePart 
)
overridevirtual

Query the platform layer for native control support.

Parameters
[in]eTypeThe widget type.
[in]ePartThe part of the widget.
Returns
true if the platform supports native drawing of the widget type defined by part.

Reimplemented from vcl::WidgetDrawInterface.

static int Qt5Graphics_Controls::pixelMetric ( QStyle::PixelMetric  metric,
const QStyleOption *  option = nullptr 
)
staticprivate
static QSize Qt5Graphics_Controls::sizeFromContents ( QStyle::ContentsType  type,
const QStyleOption *  option,
const QSize &  contentsSize 
)
staticprivate
static QRect Qt5Graphics_Controls::subControlRect ( QStyle::ComplexControl  control,
const QStyleOptionComplex *  option,
QStyle::SubControl  subControl 
)
staticprivate
static QRect Qt5Graphics_Controls::subElementRect ( QStyle::SubElement  element,
const QStyleOption *  option 
)
staticprivate
int Qt5Graphics_Controls::upscale ( int  value,
Round  eRound 
)
private
QRect Qt5Graphics_Controls::upscale ( const QRect &  rect)
private
QSize Qt5Graphics_Controls::upscale ( const QSize &  size,
Round  eRound 
)
private
QPoint Qt5Graphics_Controls::upscale ( const QPoint &  point,
Round  eRound 
)
private

Member Data Documentation

std::unique_ptr<QImage> Qt5Graphics_Controls::m_image
private

Definition at line 38 of file Qt5Graphics_Controls.hxx.

QRect Qt5Graphics_Controls::m_lastPopupRect
private

Definition at line 39 of file Qt5Graphics_Controls.hxx.

Qt5GraphicsBase const& Qt5Graphics_Controls::m_rGraphics
private

Definition at line 40 of file Qt5Graphics_Controls.hxx.


The documentation for this class was generated from the following file: