Rect FalagardStaticImage::getUnclippedInnerRect(void) const { // get WidgetLookFeel for the assigned look. const WidgetLookFeel& wlf = WidgetLookManager::getSingleton().getWidgetLook(d_lookName); String area_name(isFrameEnabled() ? "WithFrame" : "NoFrame"); area_name += "ImageRenderArea"; if (wlf.isNamedAreaDefined(area_name)) return wlf.getNamedArea(area_name).getArea().getPixelRect(*this).offset(getUnclippedPixelRect().getPosition()); else return StaticImage::getUnclippedInnerRect(); }
/************************************************************************* check local pixel co-ordinate point 'pt' and return one of the SizingLocation enumerated values depending where the point falls on the sizing border. *************************************************************************/ FrameWindow::SizingLocation FrameWindow::getSizingBorderAtPoint(const Point& pt) const { Rect frame(getSizingRect()); // we can only size if the frame is enabled and sizing is on if (isSizingEnabled() && isFrameEnabled()) { // point must be inside the outer edge if (frame.isPointInRect(pt)) { // adjust rect to get inner edge frame.d_left += d_borderSize; frame.d_top += d_borderSize; frame.d_right -= d_borderSize; frame.d_bottom -= d_borderSize; // detect which edges we are on bool top = (pt.d_y < frame.d_top); bool bottom = (pt.d_y >= frame.d_bottom); bool left = (pt.d_x < frame.d_left); bool right = (pt.d_x >= frame.d_right); // return appropriate 'SizingLocation' value if (top && left) { return SizingTopLeft; } else if (top && right) { return SizingTopRight; } else if (bottom && left) { return SizingBottomLeft; } else if (bottom && right) { return SizingBottomRight; } else if (top) { return SizingTop; } else if (bottom) { return SizingBottom; } else if (left) { return SizingLeft; } else if (right) { return SizingRight; } } } // deafult: None. return SizingNone; }