expose blend pixel methods for grid renderer
This commit is contained in:
parent
25a1a6b416
commit
00d059b39c
1 changed files with 24 additions and 0 deletions
|
@ -262,6 +262,30 @@ public:
|
|||
return height_;
|
||||
}
|
||||
|
||||
inline void blendPixel(value_type feature_id,int x,int y,unsigned int rgba1,int t)
|
||||
{
|
||||
blendPixel2(x,y,rgba1,t,1.0); // do not change opacity
|
||||
}
|
||||
|
||||
inline void blendPixel2(value_type feature_id,int x,int y,unsigned int rgba1,int t,double opacity)
|
||||
{
|
||||
if (checkBounds(x,y))
|
||||
{
|
||||
|
||||
#ifdef MAPNIK_BIG_ENDIAN
|
||||
unsigned a1 = (int)((rgba1 & 0xff) * opacity) & 0xff; // adjust for desired opacity
|
||||
#else
|
||||
unsigned a = (int)(((rgba1 >> 24) & 0xff) * opacity) & 0xff; // adjust for desired opacity
|
||||
#endif
|
||||
// if the pixel is more than a tenth
|
||||
// opaque then burn in the feature id
|
||||
if (a >= 25)
|
||||
{
|
||||
data_(x,y) = feature_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inline void set_rectangle(value_type id,image_data_32 const& data,int x0,int y0)
|
||||
{
|
||||
box2d<int> ext0(0,0,width_,height_);
|
||||
|
|
Loading…
Reference in a new issue