当前位置: 首页>>代码示例>>C++>>正文


C++ Box::ClipAgainst方法代码示例

本文整理汇总了C++中Box::ClipAgainst方法的典型用法代码示例。如果您正苦于以下问题:C++ Box::ClipAgainst方法的具体用法?C++ Box::ClipAgainst怎么用?C++ Box::ClipAgainst使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Box的用法示例。


在下文中一共展示了Box::ClipAgainst方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OutlineBox

void RGBImg::OutlineBox( RGBx c, Box& b )
{
    b.ClipAgainst( Bounds() );
    // draw top & bottom
    int x;
    RGBx* ptop = Ptr(b.XMin(),b.YMin());
    RGBx* pbot = Ptr(b.XMin(),b.YMax());
    for( x=b.XMin(); x<=b.XMax(); ++x )
    {
        *ptop++ = c;
        *pbot++ = c;
    }

    // draw sides (note: already draw top & bottom pixels)
    RGBx* pleft = Ptr(b.XMin(),b.YMin()+1);
    RGBx* pright = Ptr(b.XMax(),b.YMin()+1);
    int y;
    for( y=b.YMin()+1; y<=b.YMax()-1; ++y )
    {
        *pleft = c;
        pleft += W();
        *pright = c;
        pright += W();
    }
}
开发者ID:caiwan,项目名称:evilpixie,代码行数:25,代码来源:img.cpp

示例2: FillBox

void IndexedImg::FillBox( uint8_t c, Box& b )
{
    b.ClipAgainst( Bounds() );

    int y;
    for( y=b.YMin(); y<=b.YMax(); ++y )
    {
        int x;
        uint8_t* dest = Ptr(b.XMin(),y);
        for( x=b.XMin(); x<=b.XMax(); ++x )
        {
            *dest++ = c;
        }
    }
}
开发者ID:caiwan,项目名称:evilpixie,代码行数:15,代码来源:img.cpp

示例3: clip_blit

// clips a blit against the destination boundary.
// assumes srcbox is already valid.
// modifies srcbox and destbox appropriately.
static void clip_blit(
    Box const& srcbounds, Box& srcbox,
    Box const& destbounds, Box& destbox,
    int zoom=1 )
{
    // srcbox has blit dimensions
    destbox.w = srcbox.w*zoom;
    destbox.h = srcbox.h*zoom;

    // clip destbox, then adjust srcbox to take into account any
    // modifications
    int destx = destbox.x;
    int desty = destbox.y;
    destbox.ClipAgainst( destbounds );

    srcbox.x += (destbox.x - destx)/zoom;
    srcbox.y += (destbox.y - desty)/zoom;
    srcbox.w = destbox.w/zoom;
    srcbox.h = destbox.h/zoom;
}
开发者ID:caiwan,项目名称:evilpixie,代码行数:23,代码来源:img.cpp


注:本文中的Box::ClipAgainst方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。