本文整理汇总了C++中Patch::allocation方法的典型用法代码示例。如果您正苦于以下问题:C++ Patch::allocation方法的具体用法?C++ Patch::allocation怎么用?C++ Patch::allocation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Patch
的用法示例。
在下文中一共展示了Patch::allocation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drag
void Slider::drag(const Event& e) {
SliderImpl& s = *impl_;
if (!s.aborted_ && s.dragging_) {
if (!s.showing_old_thumb_ && s.old_thumb_ != nil) {
s.showing_old_thumb_ = true;
Patch* p = s.thumb_patch_;
Canvas* c = canvas();
c->push_transform();
c->transformer(transformer());
Extension ext;
ext.clear();
s.old_thumb_->allocate(c, p->allocation(), ext);
c->pop_transform();
}
Coord x, y;
s.get_position(this, e, x, y);
move_to(x - s.xoffset_, y - s.yoffset_);
}
}
示例2: hit_thumb
int SliderImpl::hit_thumb(Slider* s, const Event& event) {
Coord x = event.pointer_x();
Coord y = event.pointer_y();
const Extension& e = thumb_patch_->extension();
if (x >= e.left() && x < e.right() && y >= e.bottom() && y < e.top()) {
Canvas* c = s->canvas();
const Transformer& t = s->transformer();
Hit hit(&event);
hit.transform(t);
c->push_transform();
c->transformer(t);
thumb_patch_->pick(c, thumb_patch_->allocation(), 0, hit);
c->pop_transform();
return hit.any() ? 0 : 1;
}
if (x < e.left() || y < e.bottom()) {
return -1;
}
return 1;
}