コード例 #1
0
ファイル: font_popup.cpp プロジェクト: whizzter/aseprite
 void onPreferredSize(PreferredSizeEvent& ev) override {
   ListItem::onPreferredSize(ev);
   if (m_image) {
     gfx::Size sz = ev.getPreferredSize();
     ev.setPreferredSize(
       sz.w + 4 + m_image->width(),
       MAX(sz.h, m_image->height()));
   }
 }
コード例 #2
0
ファイル: search_entry.cpp プロジェクト: whizzter/aseprite
void SearchEntry::onPreferredSize(PreferredSizeEvent& ev)
{
  Entry::onPreferredSize(ev);
  Size sz = ev.getPreferredSize();

  SkinTheme* theme = static_cast<SkinTheme*>(getTheme());
  auto icon = theme->parts.iconSearch()->getBitmap(0);
  sz.h = MAX(sz.h, icon->height()+border().height());

  ev.setPreferredSize(sz);
}
コード例 #3
0
ファイル: Tab.cpp プロジェクト: Jmos/vaca
/**
   Adds space for the non-client size.

   @see getNonClientSize
*/
void TabBase::onPreferredSize(PreferredSizeEvent& ev)
{
  Size ncSize = getNonClientSize();

  if (ev.fitInWidth() || ev.fitInHeight()) {
    ev.setPreferredSize(max_value(0, ev.fitInWidth() - ncSize.w),
			max_value(0, ev.fitInHeight() - ncSize.h));
  }

  Widget::onPreferredSize(ev);
  ev.setPreferredSize(ev.getPreferredSize() + ncSize);
}