bool SkOSWindow::onEvent(const SkEvent& evt) { if (evt.isType("inval-imageview")) { this->update(NULL); const SkBitmap& bm = this->getBitmap(); CGImageRef img = SkCreateCGImageRef(bm); HIImageViewSetImage((HIViewRef)getHVIEW(), img); CGImageRelease(img); return true; } return INHERITED::onEvent(evt); }
bool SkOSWindow::onEvent(const SkEvent& evt) { if (evt.isType("inval-imageview")) { this->update(NULL); SkEvent query("ignore-window-bitmap"); if (!this->doQuery(&query) || !query.getFast32()) { const SkBitmap& bm = this->getBitmap(); CGImageRef img = SkCreateCGImageRef(bm); HIImageViewSetImage((HIViewRef)getHVIEW(), img); CGImageRelease(img); } return true; } return INHERITED::onEvent(evt); }
void SkOSWindow::updateSize() { Rect r; GetWindowBounds((WindowRef)fHWND, kWindowContentRgn, &r); this->resize(r.right - r.left, r.bottom - r.top); #if 0 HIRect frame; HIViewRef imageView = (HIViewRef)getHVIEW(); HIViewRef parent = HIViewGetSuperview(imageView); HIViewGetBounds(imageView, &frame); SkDebugf("------ %d bounds %g %g %g %g\n", r.right - r.left, frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); #endif }