本文整理汇总了C++中GraphicsDevice::SetColor方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphicsDevice::SetColor方法的具体用法?C++ GraphicsDevice::SetColor怎么用?C++ GraphicsDevice::SetColor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicsDevice
的用法示例。
在下文中一共展示了GraphicsDevice::SetColor方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: device
//.........这里部分代码省略.........
{
DFloat xSizeValue;
e->AssureFloatScalarKW( xSizeIx, xSizeValue);
bool success = actDevice->SetXPageSize( xSizeValue
* (e->KeywordSet(inchesIx) ? 100. * GSL_CONST_MKSA_INCH : 1.)
);
if( !success)
e->Throw( "Current device does not support keyword XSIZE.");
}
}
// YSIZE
{
static int ySizeIx = e->KeywordIx( "YSIZE");
BaseGDL* ySizeKW = e->GetKW( ySizeIx);
if( ySizeKW != NULL)
{
DFloat ySizeValue;
e->AssureFloatScalarKW( ySizeIx, ySizeValue);
bool success = actDevice->SetYPageSize( ySizeValue
* (e->KeywordSet(inchesIx) ? 100. * GSL_CONST_MKSA_INCH : 1.)
);
if( !success)
e->Throw( "Current device does not support keyword YSIZE.");
}
}
}
// SCALE_FACTOR
{
static int scaleIx = e->KeywordIx( "SCALE_FACTOR");
BaseGDL* scaleKW = e->GetKW( scaleIx);
if( scaleKW != NULL)
{
DFloat scaleValue;
e->AssureFloatScalarKW( scaleIx, scaleValue);
bool success = actDevice->SetScale( scaleValue);
if( !success)
e->Throw( "Current device does not support keyword SCALE.");
}
}
// COLOR
{
// TODO: turn off with COLOR=0?
static int colorIx = e->KeywordIx( "COLOR");
BaseGDL* colorKW = e->GetKW( colorIx);
if( colorKW != NULL)
{
DLong colorValue;
e->AssureLongScalarKW( colorIx, colorValue);
bool success = actDevice->SetColor(colorValue);
if( !success) e->Throw( "Current device does not support keyword COLOR.");
}
}
// ENCAPSULATED
{
static int encapsulatedIx = e->KeywordIx( "ENCAPSULATED");
BaseGDL* encapsulatedKW = e->GetKW( encapsulatedIx);
if( encapsulatedKW != NULL)
{
bool success;
if ((*e->GetKWAs<DIntGDL>(encapsulatedIx))[0] == 0)
success = actDevice->SetEncapsulated(false);
else
success = actDevice->SetEncapsulated(true);
if (!success) e->Throw( "Current device does not support keyword ENCAPSULATED.");
}
}
//BITS_PER_PIXEL
{
static int bppIx = e->KeywordIx( "BITS_PER_PIXEL");
BaseGDL* bppKW = e->GetKW( bppIx);
if( bppKW != NULL)
{
bool success;
success = actDevice->SetBPP((*e->GetKWAs<DIntGDL>(bppIx))[0]);
if (!success) e->Throw( "Current device does not support keyword BITS_PER_PIXEL.");
}
}
// COPY
{
static int copyIx = e->KeywordIx("COPY");
if( e->KeywordPresent( copyIx))
{
DLongGDL* parameters=e->GetKWAs<DLongGDL>(copyIx);
if (parameters->N_Elements() > 7 || parameters->N_Elements() < 6)
e->Throw("Keyword array parameter COPY must have from 6 to 7 elements.");
// WRONG!! device number may also be a gui number in some cases... HAVING TWO X11-like GRAPHIC DEVICES IS NOT GOOD AT ALL! FIXME!
if (parameters->N_Elements() == 7) {
if (!actDevice->WState((*parameters)[6])) e->Throw("Window number "+i2s((*parameters)[6])+" out of range or no more windows or known bug with widgets");
}
bool doesTheCopy=actDevice->CopyRegion(parameters);
if (!doesTheCopy) e->Throw( "Keyword COPY not allowed for call to: DEVICE");
}
}
}