MCRectangle MCStack::view_setgeom(const MCRectangle &p_rect) { // IM-2014-09-23: [[ Bug 13349 ]] Defer window resizing if the screen is locked. if ((MCRedrawIsScreenLocked() || !MCRedrawIsScreenUpdateEnabled()) && (opened && getflag(F_VISIBLE))) { m_view_need_resize = true; MCRedrawScheduleUpdateForStack(this); return p_rect; } return view_platform_setgeom(p_rect); }
// IM-2013-10-14: [[ FullscreenMode ]] Move update region tracking into view abstraction void MCStack::view_dirty_rect(const MCRectangle &p_rect) { MCRectangle t_visible_rect = MCRectangleGetTransformedBounds(view_getstackvisiblerect(), view_getviewtransform()); MCRectangle t_dirty_rect = MCU_intersect_rect(p_rect, t_visible_rect); if (t_dirty_rect.width == 0 || t_dirty_rect.height == 0) return; // If there is no region yet, make one. if (m_view_update_region == nil) /* UNCHECKED */ MCRegionCreate(m_view_update_region); MCRegionIncludeRect(m_view_update_region, t_dirty_rect); // Mark the stack as needing a redraw and schedule an update. m_view_need_redraw = true; MCRedrawScheduleUpdateForStack(this); }