Change wxPGProperty::OnCustomPaint measure item call signature

Because horizontally scrolled wxPGProperty can have x-coordinate < 0 so there is a need to change measure item call signature from rect.x < 0 condition to something more specific to avoid misinterpretation of the calls.
This commit is contained in:
Artur Wieczorek
2018-12-28 13:58:38 +01:00
parent e13382f400
commit a6570433b6
2 changed files with 7 additions and 6 deletions

View File

@@ -1147,16 +1147,17 @@ public:
NOTE: Following applies when OnMeasureImage() returns a "flexible" height ( NOTE: Following applies when OnMeasureImage() returns a "flexible" height (
using wxPG_FLEXIBLE_SIZE(W,H) macro), which implies variable height items: using wxPG_FLEXIBLE_SIZE(W,H) macro), which implies variable height items:
If rect.x is < 0, then this is a measure item call, which means that If (rect.x+rect.width) is < 0, then this is a measure item call, which
dc is invalid and only thing that should be done is to set paintdata.m_drawnHeight means that dc is invalid and only thing that should be done is to set
to the height of the image of item at index paintdata.m_choiceItem. This call paintdata.m_drawnHeight to the height of the image of item at index
may be done even as often as once every drop-down popup show. paintdata.m_choiceItem. This call may be done even as often as once every
drop-down popup show.
@param dc @param dc
wxDC to paint on. wxDC to paint on.
@param rect @param rect
Box reserved for custom graphics. Includes surrounding rectangle, if any. Box reserved for custom graphics. Includes surrounding rectangle, if any.
If x is < 0, then this is a measure item call (see above). If x+width is < 0, then this is a measure item call (see above).
@param paintdata @param paintdata
wxPGPaintData structure with much useful data about painted item. wxPGPaintData structure with much useful data about painted item.
@code @code

View File

@@ -797,7 +797,7 @@ void wxPropertyGrid::OnComboItemPaint( const wxPGComboBox* pCb,
cis = GetImageSize(p, item); cis = GetImageSize(p, item);
} }
if ( rect.x < 0 ) if ( rect.x + rect.width < 0 )
{ {
// Default measure behaviour (no flexible, custom paint image only) // Default measure behaviour (no flexible, custom paint image only)
if ( rect.width < 0 ) if ( rect.width < 0 )