本文整理汇总了C++中wxPen::SetColour方法的典型用法代码示例。如果您正苦于以下问题:C++ wxPen::SetColour方法的具体用法?C++ wxPen::SetColour怎么用?C++ wxPen::SetColour使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxPen
的用法示例。
在下文中一共展示了wxPen::SetColour方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MakeColourGrey
wxPen &GetGreyPen(wxPen &pen)
{
static wxPen p;
wxColour c;
p = pen;
c = MakeColourGrey(pen.GetColour());
p.SetColour(c);
return p;
}
示例2: Show
void SjOscRocket::Show(wxDC& dc, long light)
{
if(m_sleep)
{
return;
}
if( m_t<m_length )
{
int i, j, x, y, maxL;
double s;
#define VIEW 20
maxL = VIEW;
if( maxL > m_length-m_t )
{
maxL = m_length-m_t;
long intensity = (255/VIEW)*(m_length-m_t);
if( light > intensity ) intensity = light;
m_pen.SetColour(intensity, intensity, intensity);
}
dc.SetPen(m_pen);
wxPoint points[VIEW];
for(i=0; i<m_patch; i++)
{
for( j = 0; j < maxL; j++ )
{
s=(double)(m_t+j)/100;
x=(int)(m_vx[i]*s);
y=(int)(m_vy[i]*s-ROCKET_GRAVITY*s*s);
points[j].x = m_ox+x;
points[j].y = m_oy-y;
}
dc.DrawLines(maxL, points);
}
m_t++;
}
else
{
m_sleep = TRUE;
}
}
示例3: Init
void SjOscRocket::Init(int energy, int patch, int length, long seed, int mx, int my)
{
int i;
m_mx = mx;
m_my = my;
m_energy = energy;
m_patch = patch;
m_length = length;
m_random = seed;
m_pen.SetColour(255, 255, 255);
m_ox=(int)SjTools::Rand(m_mx/2)+m_mx/4;
m_oy=(int)SjTools::Rand(m_my/2)+m_my/4;
for(i=0; i<m_patch; i++)
{
m_vx[i]=(int)SjTools::Rand(m_energy)-m_energy/2;
m_vy[i]=(int)SjTools::Rand(m_energy*7/8)-m_energy/8;
}
}
示例4: Draw
bool SjOscStar::Draw(wxDC& dc, const wxSize& clientSize, double rot, wxPen& pen, wxBrush& brush)
{
double xfloat, yfloat;
int x, y, hh, vv;
int d, intensity;
m_z -= 2;
if( m_z < -63 )
{
m_z = STAR_DEPTH;
m_doDraw = !m_exitRequest;
}
hh = (m_x*64)/(64+m_z);
vv = (m_y*64)/(64+m_z);
// check position
x = hh + 500;
y = vv + 500;
if( x < -300 || x > 1300 || y < -300 || y > 1300 )
{
m_z = STAR_DEPTH;
m_doDraw = !m_exitRequest;
hh = (m_x*64)/(64+m_z);
vv = (m_y*64)/(64+m_z);
}
// calculate position
xfloat = (hh*cos(rot))-(vv*sin(rot));
yfloat = (hh*sin(rot))+(vv*cos(rot));
x = (int)xfloat + 500;
y = (int)yfloat + 500;
// use star?
if( !m_doDraw )
{
if( m_exitRequest || x < 450 || x > 550 || y < 450 || y > 550 )
{
return FALSE;
}
else
{
m_doDraw = TRUE;
}
}
// map star position to client size, keep aspect ratio
d = clientSize.x;
if( clientSize.y > d )
{
d = clientSize.y;
}
if( d == 0 )
{
d = 10;
}
x = (x * d) / 1000 - (d-clientSize.x)/2;
y = (y * d) / 1000 - (d-clientSize.y)/2;
// calculate size
d = (STAR_DEPTH-m_z) / (38400/d);
if( d == 0 ) d = 1;
// calculate light intensity
intensity = STAR_DEPTH-m_z;
intensity = 55 + ((intensity * 200) / STAR_DEPTH);
//if( intensity < light ) intensity = light + 10;
if( intensity < 0 ) intensity = 0;
if( intensity > 255 ) intensity = 255;
// draw star
if( d==1 )
{
pen.SetColour(intensity, intensity, intensity);
dc.SetPen(pen);
dc.DrawPoint(x, y);
}
else
{
dc.SetPen(*wxTRANSPARENT_PEN);
brush.SetColour(intensity, intensity, intensity);
dc.SetBrush(brush);
dc.DrawRectangle(x, y, d, d);
}
return TRUE;
}
示例5: SetPenColour
void ThemeBase::SetPenColour( wxPen & Pen, int iIndex )
{
wxASSERT( iIndex >= 0 );
Pen.SetColour( Colour( iIndex ));
}