本文整理汇总了C++中GetBorder函数的典型用法代码示例。如果您正苦于以下问题:C++ GetBorder函数的具体用法?C++ GetBorder怎么用?C++ GetBorder使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GetBorder函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: block_cpy
bool Widget::IsCollide(int x,int y,Direction dir)
{
//用拷贝的临时方块做判断
int temp_block[4][4];
block_cpy(temp_block,cur_block);
Border temp_border;
GetBorder(temp_block,temp_border);
//先尝试按照某方向走一格
switch(dir)
{
case UP:
BlockRotate(temp_block);
GetBorder(temp_block,temp_border); //旋转后要重新计算边界
break;
case DOWN:
y+=1;
break;
case LEFT:
x-=1;
break;
case RIGHT:
x+=1;
break;
default:
break;
}
for(int i=temp_border.ubound;i<=temp_border.dbound;i++)
for(int j=temp_border.lbound;j<=temp_border.rbound;j++)
if(game_area[y+i][x+j]==2&&temp_block[i][j]==1||x+temp_border.lbound<0||x+temp_border.rbound>AREA_COL-1)
return true;
return false;
}
示例2: defined
bool wxGenericCollapsiblePane::Create(wxWindow *parent,
wxWindowID id,
const wxString& label,
const wxPoint& pos,
const wxSize& size,
long style,
const wxValidator& val,
const wxString& name)
{
if ( !wxControl::Create(parent, id, pos, size, style, val, name) )
return false;
m_strLabel = label;
#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__)
// on Mac we use the disclosure triangle
// we need a light gray line above and below, lets approximate with the frame
m_pStaticLine = NULL;
m_pButton = new wxDisclosureTriangle( this, wxID_ANY, GetBtnLabel(),
wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER );
m_pButton->SetBackgroundColour( wxColour( 221, 226, 239 ) );
m_sz = new wxBoxSizer(wxHORIZONTAL);
// m_sz->Add(4,4); where shall we put it?
m_sz->Add( m_pButton, 1);
#else
// create children and lay them out using a wxBoxSizer
// (so that we automatically get RTL features)
m_pButton = new wxButton(this, wxID_ANY, GetBtnLabel(), wxPoint(0, 0),
wxDefaultSize, wxBU_EXACTFIT);
m_pStaticLine = new wxStaticLine(this, wxID_ANY);
// on other platforms we put the static line and the button horizontally
m_sz = new wxBoxSizer(wxHORIZONTAL);
m_sz->Add(m_pButton, 0, wxLEFT|wxTOP|wxBOTTOM, GetBorder());
m_sz->Add(m_pStaticLine, 1, wxALIGN_CENTER|wxLEFT|wxRIGHT, GetBorder());
#endif
// FIXME: at least under wxCE and wxGTK1 the background is black if we don't do
// this, no idea why...
#if defined(__WXWINCE__) || defined(__WXGTK__)
SetBackgroundColour(parent->GetBackgroundColour());
#endif
// do not set sz as our sizers since we handle the pane window without using sizers
m_pPane = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
wxTAB_TRAVERSAL|wxNO_BORDER, wxT("wxCollapsiblePanePane") );
// start as collapsed:
m_pPane->Hide();
return true;
}
示例3: GetBorder
void WebListBox::ResizeScrollBars(void)
{
if (mpHScroll)
{
WebRect r;
r.Set(GetMargin() + GetBorder(),
Height() - GetMargin() - GetBorder() - miSliderWidth - 1,
Width() - (mpVScroll ? miSliderWidth : 0) - GetMargin() - GetBorder() - 1,
Height() - GetMargin() - GetBorder() - 1);
mpHScroll->Move(&r);
WebRect vr;
GetOptionsRect(&vr);
mpHScroll->SetWindow(vr.Width());
mpHScroll->Invalidate();
}
if (mpVScroll)
{
WebRect r;
r.Set(Width() - 1 - GetMargin() - GetBorder() - miSliderWidth,
GetMargin() + GetBorder(),
Width() - 1 - GetMargin() - GetBorder(),
Height() - 1 - (mpHScroll ? miSliderWidth : 0) - GetMargin() - GetBorder());
mpVScroll->Move(&r);
WebRect vr;
GetOptionsRect(&vr);
mpVScroll->SetWindow(vr.Height());
mpVScroll->Invalidate();
}
}
示例4: GetLayout
inline bool MtgCard::operator==(const MtgCard& rhs) {
return GetLayout() == rhs.GetLayout() &&
GetManacost() == rhs.GetManacost() &&
GetCmc() == rhs.GetCmc() &&
CompareStringList(GetColors(), rhs.GetColors()) &&
type == rhs.type &&
CompareStringList(GetSupertypes(), rhs.GetSupertypes()) &&
CompareStringList(GetTypes(), rhs.GetTypes()) &&
CompareStringList(GetSubtypes(), rhs.GetSubtypes()) &&
GetRarity() == rhs.GetRarity() &&
text == rhs.GetText() &&
GetFlavor() == rhs.GetFlavor() &&
GetArtist() == rhs.GetArtist() &&
GetNumber() == rhs.GetNumber() &&
GetPower() == rhs.GetPower() &&
GetToughness() == rhs.GetToughness() &&
GetLoyalty() == rhs.GetLoyalty() &&
GetMultiverseid() == rhs.GetMultiverseid() &&
CompareIntList(GetVariations(), rhs.GetVariations()) &&
GetImageName() == rhs.GetImageName() &&
GetWatermark() == rhs.GetWatermark() &&
GetBorder() == rhs.GetBorder() &&
IsTimeshifted() == rhs.IsTimeshifted() &&
GetHand() == rhs.GetHand() &&
GetLife() == rhs.GetLife() &&
IsReserved() == rhs.IsReserved() &&
GetReleasedate() == rhs.GetReleasedate() &&
IsStarter() == rhs.IsStarter() &&
CompareStringPairList(GetRulings(), rhs.GetRulings()) &&
CompareStringPairList(GetForeignNames(), rhs.GetForeignNames()) &&
GetOriginalText() == rhs.GetOriginalText() &&
GetOriginalType() == rhs.GetOriginalType() &&
CompareStringPairList(GetLegalities(), rhs.GetLegalities()) &&
GetEdition() == rhs.GetEdition();
}
示例5: DoDrawBackground
// the event handler executed when the window background must be painted
void wxWindow::OnErase(wxEraseEvent& event)
{
if ( !m_renderer )
{
event.Skip();
return;
}
DoDrawBackground(*event.GetDC());
#if wxUSE_SCROLLBAR
// if we have both scrollbars, we also have a square in the corner between
// them which we must paint
if ( m_scrollbarVert && m_scrollbarHorz )
{
wxSize size = GetSize();
wxRect rectClient = GetClientRect(),
rectBorder = m_renderer->GetBorderDimensions(GetBorder());
wxRect rectCorner;
rectCorner.x = rectClient.GetRight() + 1;
rectCorner.y = rectClient.GetBottom() + 1;
rectCorner.SetRight(size.x - rectBorder.width);
rectCorner.SetBottom(size.y - rectBorder.height);
if ( GetUpdateRegion().Contains(rectCorner) )
{
m_renderer->DrawScrollCorner(*event.GetDC(), rectCorner);
}
}
#endif // wxUSE_SCROLLBAR
}
示例6: oursz
bool wxGenericCollapsiblePane::Layout()
{
#ifdef __WXMAC__
if (!m_pButton || !m_pPane || !m_sz)
return false; // we need to complete the creation first!
#else
if (!m_pButton || !m_pStaticLine || !m_pPane || !m_sz)
return false; // we need to complete the creation first!
#endif
wxSize oursz(GetSize());
// move & resize the button and the static line
m_sz->SetDimension(0, 0, oursz.GetWidth(), m_sz->GetMinSize().GetHeight());
m_sz->Layout();
if ( IsExpanded() )
{
// move & resize the container window
int yoffset = m_sz->GetSize().GetHeight() + GetBorder();
m_pPane->SetSize(0, yoffset,
oursz.x, oursz.y - yoffset);
// this is very important to make the pane window layout show correctly
m_pPane->Layout();
}
return true;
}
示例7: DoSetClientSize
void wxWindow::DoSetClientSize(int width, int height)
{
// take into account the borders
wxRect rectBorder = m_renderer->GetBorderDimensions(GetBorder());
width += rectBorder.x;
height += rectBorder.y;
// and the scrollbars (as they may be offset into the border, use the
// scrollbar position, not size - this supposes that PositionScrollbars()
// had been called before)
wxSize size = GetSize();
#if wxUSE_SCROLLBAR
if ( m_scrollbarVert )
width += size.x - m_scrollbarVert->GetPosition().x;
#endif // wxUSE_SCROLLBAR
width += rectBorder.width;
#if wxUSE_SCROLLBAR
if ( m_scrollbarHorz )
height += size.y - m_scrollbarHorz->GetPosition().y;
#endif // wxUSE_SCROLLBAR
height += rectBorder.height;
wxWindowNative::DoSetClientSize(width, height);
}
示例8: InitializeCriticalSection
BOOL CRIFFChunkTreeDlg::OnInitDialog()
{
// InitializeCriticalSection(&critical_section);
CResizeableDialog::OnInitDialog();
InitializeCriticalSection(&cs);
bChunkTree_stop = false;
// __int64 qwPos;
// LISTHEADER lh;
SendDlgItemMessage(IDOK,WM_SETTEXT,NULL,(LPARAM)LoadString(STR_GEN_OK));
SendDlgItemMessage(IDCANCEL,WM_SETTEXT,NULL,(LPARAM)LoadString(STR_GEN_CANCEL));
SendDlgItemMessage(IDC_WAIT_FOR_COMPLETE_TREE, WM_SETTEXT, NULL,
(LPARAM)LoadString(STR_RIFFDLG_FULL));
DWORD dwID;
MAIN_THREAD_DATA_STRUCT* mtds = new MAIN_THREAD_DATA_STRUCT;
mtds->dlg = this;
mtds->source = source;
CreateThread(NULL, 1<<20, MainThread, mtds, NULL, &dwID);
AttachWindow(*GetDlgItem(IDOK), ATTB_RIGHT, *this, -12);
AttachWindow(*GetDlgItem(IDC_SAVE), ATTB_RIGHT, *GetDlgItem(IDOK));
AttachWindow(*GetDlgItem(IDC_SAVE), ATTB_TOP, *GetDlgItem(IDOK), ATTB_BOTTOM, 2);
AttachWindow(m_WaitButton, ATTB_TOP, *GetDlgItem(IDC_SAVE), ATTB_BOTTOM, 2);
AttachWindow(m_WaitButton, ATTB_RIGHT, *GetDlgItem(IDOK));
int border_x, border_y;
GetBorder(border_x, border_y);
AttachWindow(m_HexView, ATTB_BOTTOM, *this, -border_y);
AttachWindow(m_Tree, ATTB_LEFT, *this, 12);
AttachWindow(m_Tree, ATTB_BOTTOM, m_HexView, ATTB_TOP, -1);
AttachWindow(m_Tree, ATTB_TOP, *this, border_y + 12);
AttachWindow(m_Tree, ATTB_RIGHT, *GetDlgItem(IDOK), ATTB_LEFT, -12);
AttachWindow(m_HexView, ATTB_RIGHT, m_Tree);
AttachWindow(m_HexView, ATTB_LEFT, m_Tree);
AttachWindow(*GetDlgItem(IDOK), ATTB_TOP, m_Tree);
m_HexView.SetRange(16*256);
m_HexView.SetDataSource(source);
m_HexView.SetNewStartPos(0);
m_HexView.SetMode(HWLB_MODE_RIFF);
/* RECT r;
GetWindowRect(&r);
PostMessage(WM_SIZE, 0, (r.right-r.left) | ((r.bottom-r.top)<<16));
*/
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben
}
示例9: MakeFBUmask
void MakeFBUmask(IplImage *maskrgb, IplImage *&res, int unknownsize) {
vector<CvPoint> borders;
GetBorder(maskrgb, borders);
if (res)
cvReleaseImage(&res);
res = cvCloneImage(maskrgb);
for (int i = 0; i < (int)borders.size(); i++)
if (borders[i].x != -1 && borders[i].y != -1)
circleit(res, borders[i].x, borders[i].y, unknownsize, C_UNKNOW);
}
示例10: GetColor
void GUIControl::Draw()
{
if(IsVisible())
{
if(GetTexture())
{
COLOR4 c = GetColor();
glColor4ub(c.r, c.g, c.b, c.a);
if(GetCurrentPattern() == 0)
{
DrawTexture(GetX(), GetY(),
0, 0,
GetWidth(), GetHeight(),
GetTexture(),
false, false, 100, 100);
}
else
{
DrawTexture(GetX(), GetY(),
GetCurrentPattern() * GetWidth(),
0,
GetCurrentPattern() * GetWidth() + GetWidth(),
GetHeight(),
GetTexture(),
false, false, 100, 100);
}
}
if(GetCaption() && GetCaptionFont())
{
COLOR4 c = GetCurrentCaptionColor();
glColor4ub(c.r, c.g, c.b, c.a);
PrintText(GetCaption(),
GetCaptionFont(),
GetX() + GetCaptionX(),
GetY() + GetCaptionY());
}
if(GetBorder())
{
if(GetBorderType() == btAlways)
{
Box(GetX(), GetY(), GetWidth(), GetHeight());
}
else if(GetBorderType() == btOnMouseMove)
{
if(_draw_border)
Box(GetX(), GetY(), GetWidth(), GetHeight());
}
}
}
}
示例11: GetBorder
void wxWindow::DoDrawBorder(wxDC& dc, const wxRect& rect)
{
// draw outline unless the update region is enitrely inside it in which
// case we don't need to do it
#if 0 // doesn't seem to work, why?
if ( wxRegion(rect).Contains(GetUpdateRegion().GetBox()) != wxInRegion )
#endif
{
m_renderer->DrawBorder(dc, GetBorder(), rect, GetStateFlags());
}
}
示例12: GetClientAreaOrigin
wxPoint wxWindow::GetClientAreaOrigin() const
{
wxPoint pt = wxWindowBase::GetClientAreaOrigin();
#if wxUSE_TWO_WINDOWS
#else
if ( m_renderer )
pt += m_renderer->GetBorderDimensions(GetBorder()).GetPosition();
#endif
return pt;
}
示例13: borderSquare
void Border::CreateBorder()
{
const int CONST_SQUARE_SIDE = 12,
CONST_NUM_SQUARES = Game::GetFieldWidth()/CONST_SQUARE_SIDE,
CONST_POSITION_EXTENSION = 24;// see Game CONST_TOP_BAR_L variable
for(int i = 0; i < (CONST_NUM_SQUARES - 1); i++)
{
//top
sf::RectangleShape borderSquare(sf::Vector2f(11.0, 11.0));
borderSquare.setFillColor(sf::Color(102, 0, 0));//this is the brown color
borderSquare.setOrigin(borderSquare.getLocalBounds().left - 1.0, borderSquare.getLocalBounds().top - 1.0);
borderSquare.setPosition(i * 12, CONST_POSITION_EXTENSION);
GetBorder().push_back(borderSquare);
//right side
sf::RectangleShape borderSquare_2(sf::Vector2f(11.0, 11.0));
borderSquare_2.setFillColor(sf::Color(102, 0, 0));//this is the brown color
borderSquare_2.setOrigin(borderSquare_2.getLocalBounds().left - 1.0, borderSquare_2.getLocalBounds().top - 1.0);
borderSquare_2.setPosition((CONST_NUM_SQUARES - 1) * CONST_SQUARE_SIDE, i * CONST_SQUARE_SIDE + CONST_POSITION_EXTENSION);
GetBorder().push_back(borderSquare_2);
//bottom
sf::RectangleShape borderSquare_3(sf::Vector2f(11.0, 11.0));
borderSquare_3.setFillColor(sf::Color(102, 0, 0));//this is the brown color
borderSquare_3.setOrigin(borderSquare_3.getLocalBounds().left - 1.0, borderSquare_3.getLocalBounds().top - 1.0);
borderSquare_3.setPosition( (i + 1) * CONST_SQUARE_SIDE, (CONST_NUM_SQUARES - 1) * CONST_SQUARE_SIDE + CONST_POSITION_EXTENSION);
GetBorder().push_back(borderSquare_3);
//left side
sf::RectangleShape borderSquare_4(sf::Vector2f(11.0, 11.0));
borderSquare_4.setFillColor(sf::Color(102, 0, 0));//this is the brown color
borderSquare_4.setOrigin(borderSquare_4.getLocalBounds().left - 1.0, borderSquare_4.getLocalBounds().top - 1.0);
borderSquare_4.setPosition(0.0, (i + 1) * CONST_SQUARE_SIDE + CONST_POSITION_EXTENSION);
GetBorder().push_back(borderSquare_4);
}
}
示例14: dc
wxSize wxStaticText::DoGetBestSize() const
{
wxClientDC dc(const_cast<wxStaticText *>(this));
wxFont font(GetFont());
if (!font.Ok())
font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
dc.SetFont(font);
wxCoord widthTextMax, heightTextTotal;
dc.GetMultiLineTextExtent(GetLabelText(), &widthTextMax, &heightTextTotal);
#ifdef __WXWINCE__
if ( widthTextMax )
widthTextMax += 2;
#endif // __WXWINCE__
// border takes extra space
//
// TODO: this is probably not wxStaticText-specific and should be moved
wxCoord border;
switch ( GetBorder() )
{
case wxBORDER_STATIC:
case wxBORDER_SIMPLE:
border = 1;
break;
case wxBORDER_SUNKEN:
border = 2;
break;
case wxBORDER_RAISED:
case wxBORDER_DOUBLE:
border = 3;
break;
default:
wxFAIL_MSG( _T("unknown border style") );
// fall through
case wxBORDER_NONE:
border = 0;
}
widthTextMax += 2*border;
heightTextTotal += 2*border;
wxSize best(widthTextMax, heightTextTotal);
CacheBestSize(best);
return best;
}
示例15: GetBorder
FVector2D SButton::ComputeDesiredSize(float LayoutScaleMultiplier) const
{
// When there is no widget in the button, it sizes itself based on
// the border image specified by the style.
if (ChildSlot.GetWidget() == SNullWidget::NullWidget)
{
return GetBorder()->ImageSize;
}
else
{
return SBorder::ComputeDesiredSize(LayoutScaleMultiplier);
}
}