void cUIControl::Draw() { if ( mVisible ) { if ( mFlags & UI_FILL_BACKGROUND ) BackgroundDraw(); if ( mFlags & UI_BORDER ) BorderDraw(); if ( NULL != mSkinState ) mSkinState->Draw( (eeFloat)mScreenPos.x, (eeFloat)mScreenPos.y, (eeFloat)mSize.Width(), (eeFloat)mSize.Height(), 255 ); if ( cUIManager::instance()->HighlightFocus() && cUIManager::instance()->FocusControl() == this ) { cPrimitives P; P.FillMode( DRAW_LINE ); P.BlendMode( Blend() ); P.SetColor( cUIManager::instance()->HighlightFocusColor() ); P.DrawRectangle( GetRectf() ); } if ( cUIManager::instance()->HighlightOver() && cUIManager::instance()->OverControl() == this ) { cPrimitives P; P.FillMode( DRAW_LINE ); P.BlendMode( Blend() ); P.SetColor( cUIManager::instance()->HighlightOverColor() ); P.DrawRectangle( GetRectf() ); } } }
void WatchEdit::HighlightLine(int line, Vector<Highlight>& h, int pos) { Color cEven = Blend(SColorInfo, White, 220); Color cOdd = Blend(SColorInfo, White, 128); for(int i = 0; i < h.GetCount(); i++) h[i].paper = (line % 2 ? cOdd : cEven); }
// Colonne float colonne(in vec3 p, in vec3 a, in vec3 b, float rayon, float e, float R){ float d; float offset = 0.28; float offsetCube = 0.15; d = cylindre(p, a, b, rayon, e, R); for(float i=0.0;i<12.0; i++){ vec3 pos = vec3(cos(i*3.14/6.0)*(rayon+rayon*offset), 0.0, sin(i*3.14/6.0)*(rayon+rayon*offset) ); vec3 newA = pos + a;//vec3(a.x + cos(i*3.14/6.0)*(rayon+rayon*offset), a.y + 0.0, a.z + sin(i*3.14/6.0)*(rayon+rayon*offset) ); vec3 newB = pos + b;//vec3(b.x + cos(i*3.14/6.0)*(rayon+rayon*offset), b.y - 0.0, b.z + sin(i*3.14/6.0)*(rayon+rayon*offset) ); d = Difference(d, cylindre( p, newA, newB, rayon/6.0, e, R/6.0 ) ); } float d2 = disque(p, a-vec3(0,R*0.7,0), normalize(b-a),rayon*1.5, e, R); d2 = Blend(d2,disque(p, b+vec3(0,R*0.7,0), normalize(a-b),rayon*1.5, e, R)); d2 = Blend(d2, cube(p, vec3(a.x, a.y-R, a.z), vec3( (rayon)*4., offsetCube, (rayon)*4. ), e, 0.1 )); d2 = Blend(d2, cube(p, vec3(b.x, b.y+R, b.z), vec3( (rayon)*4., offsetCube, (rayon)*4. ), e, 0.1 )); d = Union(d,d2); return d; }
Candle::Candle(const Reader& lisp) : MovingSprite(lisp, "images/objects/candle/candle.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_DISABLED), burning(true), flicker(true), lightcolor(1.0f, 1.0f, 1.0f), candle_light_1(sprite_manager->create("images/objects/candle/candle-light-1.sprite")), candle_light_2(sprite_manager->create("images/objects/candle/candle-light-2.sprite")) { lisp.get("name", name); lisp.get("burning", burning); lisp.get("flicker", flicker); //get color from lisp std::vector<float> vColor; lisp.get("color", vColor); //change the light color if defined if (vColor.size() >= 3) { lightcolor = Color(vColor); candle_light_1->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); candle_light_2->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); candle_light_1->set_color(lightcolor); candle_light_2->set_color(lightcolor); //the following allows the original candle appearance to be preserved candle_light_1->set_action("white"); candle_light_2->set_action("white"); } if (burning) { sprite->set_action("on"); } else { sprite->set_action("off"); } }
Candle::Candle(const ReaderMapping& lisp) : MovingSprite(lisp, "images/objects/candle/candle.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_DISABLED), ExposedObject<Candle, scripting::Candle>(this), burning(true), flicker(true), lightcolor(1.0f, 1.0f, 1.0f), candle_light_1(SpriteManager::current()->create("images/objects/candle/candle-light-1.sprite")), candle_light_2(SpriteManager::current()->create("images/objects/candle/candle-light-2.sprite")) { lisp.get("burning", burning, true); lisp.get("flicker", flicker, true); std::vector<float> vColor; if(!lisp.get("color", vColor)) vColor = {1.0f, 1.0f, 1.0f}; //change the light color if defined if (vColor.size() >= 3) { lightcolor = Color(vColor); candle_light_1->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); candle_light_2->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); candle_light_1->set_color(lightcolor); candle_light_2->set_color(lightcolor); //the following allows the original candle appearance to be preserved candle_light_1->set_action("white"); candle_light_2->set_action("white"); } if (burning) { sprite->set_action("on"); } else { sprite->set_action("off"); } }
void UpdateTrayMenuColors() { if (!pEBMenuTray) return; if (!dwNoOwnerDrawMenu) { if (dwUseSystemColors) { pEBMenuTray->crFontColorOne = GetSysColor(COLOR_HIGHLIGHTTEXT); pEBMenuTray->crFontColorTwo = Blend(GetSysColor(COLOR_3DDKSHADOW), GetSysColor(COLOR_HIGHLIGHT), 0.6); pEBMenuTray->crFontColorThree = GetSysColor(COLOR_MENUTEXT); pEBMenuTray->crBkColorOne = Blend(GetSysColor(COLOR_WINDOW), GetSysColor(COLOR_HIGHLIGHT), 0.2); pEBMenuTray->crBkColorTwo = GetSysColor(COLOR_MENU); pEBMenuTray->crBkColorThree = GetMenuBarColor(); pEBMenuTray->crSelColorOne = GetSysColor(COLOR_HIGHLIGHT); pEBMenuTray->crSelColorTwo = Blend(GetSysColor(COLOR_WINDOW), GetSysColor(COLOR_HIGHLIGHT), 0.1); pEBMenuTray->crBrColorOne = Blend(GetSysColor(COLOR_HIGHLIGHT), GetSysColor(COLOR_BTNTEXT), 0.1); pEBMenuTray->crBrColorTwo = Blend(GetSysColor(COLOR_3DHIGHLIGHT), GetSysColor(COLOR_HIGHLIGHT), 0.1); } else { pEBMenuTray->crFontColorOne = dwTextColor; pEBMenuTray->crFontColorTwo = dwTextShadowColor; pEBMenuTray->crFontColorThree = GetSysColor(COLOR_MENUTEXT); pEBMenuTray->crBkColorOne = dwBackgroundColor; pEBMenuTray->crBkColorTwo = GetSysColor(COLOR_MENU); pEBMenuTray->crBkColorThree = GetMenuBarColor(); pEBMenuTray->crSelColorOne = dwGradientColor1; pEBMenuTray->crSelColorTwo = dwGradientColor2; pEBMenuTray->crBrColorOne = dwBorderColor1; pEBMenuTray->crBrColorTwo = dwBorderColor2; } } }
void Renderer::SetupShader(Shader *shader, int lm_index) { // the light map could change even though we have the same shaders // check and set new lightmap, leave everthing else the same if (shader == current_shader_ && lm_index != -1) { if (lm_index == current_lightmap_) { return; } if (shader->lightmap_stage_ == -1) { return; } current_lightmap_ = lm_index; BindTexture(shader->lightmap_stage_, textureLoader::GetLightmap(lm_index)); ++num_skipped_shaders_; return; } // THIS ONLY DISABLES BLENDING BUT WE WANT TO ALWAYS BLEND.. maybe // if (current_shader_ != 0) //{ // FinishShader(*current_shader_); //} // current_shader_ = shader; // JUST ENABLE BLENDING ALL THE TIME AND BLEND NON TRANSLUCENT TEXTURES WITH // ONE ZERO // only enable blending if stage 0 wants to blend with background // shaders can only blend with textures // if (i == 0 && stage.blendfunc[0] == GL_ONE && stage.blendfunc[1] == GL_ONE) //{ if (shader->q3_shader_.stages_.size() > 0) { Blend(true); BlendFunc(shader->q3_shader_.stages_[0].blendfunc[0], shader->q3_shader_.stages_[0].blendfunc[1]); } else { Blend(false); } // BlendFunc(GL_ONE, GL_ZERO); //} for (unsigned int i = 0; i < shader->q3_shader_.stages_.size(); ++i) { // maybe put lightmap directly into stage so we dont need this if // seems we can optimize it by first only checking lm_index if (i == shader->lightmap_stage_ && lm_index != -1) { BindTexture(i, textureLoader::GetLightmap(lm_index)); current_lightmap_ = lm_index; } else { BindTexture(i, shader->texture_id_[i]); } } }
void PickColor(float t, float &r, float &g, float &b) { if(t < gSwingDownOptimalTimeMin) Blend(t * 1.0f / gSwingDownOptimalTimeMin, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, r, g, b); else if(t > gSwingDownOptimalTimeMax) Blend(1.0f - ((t - gSwingDownOptimalTimeMax) * gSwingDownLatePunishment), 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, r, g, b); else { r = 0.0f; b = 0.0f; g = 1.0f; } }
CG32bitPixel CG32bitPixel::Blend3 (CG32bitPixel rgbNegative, CG32bitPixel rgbCenter, CG32bitPixel rgbPositive, double rFade) // Fade3 // // Fades from negative to center to positive. { if (rFade < 0.0) return Blend(rgbNegative, rgbCenter, rFade + 1.0); else if (rFade > 0.0) return Blend(rgbCenter, rgbPositive, rFade); else return rgbCenter; }
void RightTabs::Paint(Draw& w) { Size sz = GetSize(); w.DrawRect(sz, Blend(SColorFace, SColorPaper)); Color hc = Blend(Yellow, LtRed, 100); Color inactive = Blend(SColorPaper, SColorShadow); for(int i = 0; i < tab.GetCount(); i++) { Tab& t = tab[i]; if(i != cursor) PaintTab(w, 0, t.y + 2, cx - 1, t.GetHeight() - 1, inactive, t.img, i == hl ? hc : Null); } if(cursor >= 0) { Tab& t = tab[cursor]; PaintTab(w, 0, t.y, cx, t.GetHeight() + 3, SColorPaper, t.img, cursor == hl ? hc : Null); } }
void GLPainter::draw_surface_part(const DrawingRequest& request) { const SurfacePartRequest* surfacepartrequest = (SurfacePartRequest*) request.request_data; const Surface* surface = surfacepartrequest->surface; std::shared_ptr<GLTexture> gltexture = std::dynamic_pointer_cast<GLTexture>(surface->get_texture()); GLSurfaceData *surface_data = reinterpret_cast<GLSurfaceData *>(surface->get_surface_data()); float uv_width = surface_data->get_uv_right() - surface_data->get_uv_left(); float uv_height = surface_data->get_uv_bottom() - surface_data->get_uv_top(); float uv_left = surface_data->get_uv_left() + (uv_width * surfacepartrequest->srcrect.p1.x) / surface->get_width(); float uv_top = surface_data->get_uv_top() + (uv_height * surfacepartrequest->srcrect.p1.y) / surface->get_height(); float uv_right = surface_data->get_uv_left() + (uv_width * surfacepartrequest->srcrect.p2.x) / surface->get_width(); float uv_bottom = surface_data->get_uv_top() + (uv_height * surfacepartrequest->srcrect.p2.y) / surface->get_height(); GLuint th = gltexture->get_handle(); if (th != s_last_texture) { s_last_texture = th; glBindTexture(GL_TEXTURE_2D, th); } intern_draw(request.pos.x, request.pos.y, request.pos.x + surfacepartrequest->dstsize.width, request.pos.y + surfacepartrequest->dstsize.height, uv_left, uv_top, uv_right, uv_bottom, 0.0, request.alpha, request.color, Blend(), request.drawing_effect); }
Flower::Flower(BonusType _type) : type(_type), sprite(), drawing_effect(NO_EFFECT), light(1.0f,1.0f,1.0f), lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light-small.sprite")) { bbox.set_size(32, 32); lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); if(type == FIRE_BONUS) { sprite = SpriteManager::current()->create("images/powerups/fireflower/fireflower.sprite"); SoundManager::current()->preload("sounds/fire-flower.wav"); lightsprite->set_color(Color(0.3f, 0.0f, 0.0f)); } else if(type == ICE_BONUS) { sprite = SpriteManager::current()->create("images/powerups/iceflower/iceflower.sprite"); SoundManager::current()->preload("sounds/fire-flower.wav"); lightsprite->set_color(Color(0.0f, 0.1f, 0.2f)); } else if(type == AIR_BONUS) { sprite = SpriteManager::current()->create("images/powerups/airflower/airflower.sprite"); SoundManager::current()->preload("sounds/fire-flower.wav"); lightsprite->set_color(Color(0.15f, 0.0f, 0.15f)); } else if(type == EARTH_BONUS) { sprite = SpriteManager::current()->create("images/powerups/earthflower/earthflower.sprite"); SoundManager::current()->preload("sounds/fire-flower.wav"); lightsprite->set_color(Color(0.0f, 0.3f, 0.0f)); } else { assert(false); } set_group(COLGROUP_TOUCHABLE); }
PowerUp::PowerUp(const ReaderMapping& lisp) : MovingSprite(lisp, LAYER_OBJECTS, COLGROUP_MOVING), physic(), script(), no_physics(), light(0.0f,0.0f,0.0f), lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light-small.sprite")) { if (!lisp.get("script", script)) script = ""; if (!lisp.get("disable-physics", no_physics)) no_physics = false; physic.enable_gravity(true); SoundManager::current()->preload("sounds/grow.ogg"); SoundManager::current()->preload("sounds/fire-flower.wav"); SoundManager::current()->preload("sounds/gulp.wav"); //set default light for glow effect for standard sprites lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); lightsprite->set_color(Color(0.0f, 0.0f, 0.0f)); if (sprite_name == "images/powerups/egg/egg.sprite") { lightsprite->set_color(Color(0.2f, 0.2f, 0.0f)); } else if (sprite_name == "images/powerups/fireflower/fireflower.sprite") { lightsprite->set_color(Color(0.3f, 0.0f, 0.0f)); } else if (sprite_name == "images/powerups/iceflower/iceflower.sprite") { lightsprite->set_color(Color(0.0f, 0.1f, 0.2f)); } else if (sprite_name == "images/powerups/airflower/airflower.sprite") { lightsprite->set_color(Color(0.15f, 0.0f, 0.15f)); } else if (sprite_name == "images/powerups/earthflower/earthflower.sprite") { lightsprite->set_color(Color(0.0f, 0.3f, 0.0f)); } else if (sprite_name == "images/powerups/star/star.sprite") { lightsprite->set_color(Color(0.4f, 0.4f, 0.4f)); } }
NAMESPACE_UPP CH_STYLE(MultiButton, Style, StyleDefault) { for(int i = 0; i < 4; i++) { simple[i] = left[i] = right[i] = lmiddle[i] = rmiddle[i] = Button::StyleEdge().look[i]; monocolor[i] = Button::StyleEdge().monocolor[i]; fmonocolor[i] = i == 3 ? SColorDisabled() : SColorText(); look[i] = trivial[i] = ChLookWith(simple[i], CtrlsImg::DA(), monocolor[i]); edge[i] = EditFieldEdge(); } activeedge = false; trivialborder = DPI(1); border = DPI(1); pressoffset = Button::StyleEdge().pressoffset; sep1 = SColorHighlight(); sep2 = SColorLight(); sepm = DPI(2); stdwidth = FrameButtonWidth(); trivialsep = false; margin = Rect(DPI(2), 2, DPI(2), 2); usetrivial = false; overpaint = loff = roff = 0; error = Blend(LtRed(), Red()); }
SpriteParticle::SpriteParticle(std::string sprite_name, std::string action, Vector position, AnchorPoint anchor, Vector velocity, Vector acceleration, int drawing_layer) : sprite(), position(position), velocity(velocity), acceleration(acceleration), drawing_layer(drawing_layer), light(0.0f,0.0f,0.0f), lightsprite(sprite_manager->create("images/objects/lightmap_light/lightmap_light-tiny.sprite")), glow(false) { sprite = sprite_manager->create(sprite_name); if (!sprite.get()) throw std::runtime_error("Could not load sprite "+sprite_name); sprite->set_action(action, 1); sprite->set_animation_loops(1); //TODO: this is necessary because set_action will not set "loops" when "action" is the default action this->position -= get_anchor_pos(sprite->get_current_hitbox(), anchor); if(sprite_name=="images/objects/particles/sparkle.sprite") glow = true; if(action=="dark") { lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); lightsprite->set_color(Color(0.1f, 0.1f, 0.1f)); } }
static inline void h_ctl_roll_rate_loop() { float err = stateGetBodyRates_f()->p - h_ctl_roll_rate_setpoint; /* I term calculation */ static float roll_rate_sum_err = 0.; static uint8_t roll_rate_sum_idx = 0; static float roll_rate_sum_values[H_CTL_ROLL_RATE_SUM_NB_SAMPLES]; roll_rate_sum_err -= roll_rate_sum_values[roll_rate_sum_idx]; roll_rate_sum_values[roll_rate_sum_idx] = err; roll_rate_sum_err += err; roll_rate_sum_idx++; if (roll_rate_sum_idx >= H_CTL_ROLL_RATE_SUM_NB_SAMPLES) { roll_rate_sum_idx = 0; } /* D term calculations */ static float last_err = 0; float d_err = err - last_err; last_err = err; float throttle_dep_pgain = Blend(h_ctl_hi_throttle_roll_rate_pgain, h_ctl_lo_throttle_roll_rate_pgain, v_ctl_throttle_setpoint / ((float)MAX_PPRZ)); float cmd = throttle_dep_pgain * (err + h_ctl_roll_rate_igain * roll_rate_sum_err / H_CTL_ROLL_RATE_SUM_NB_SAMPLES + h_ctl_roll_rate_dgain * d_err); h_ctl_aileron_setpoint = TRIM_PPRZ(cmd); }
void ValueSlider::Paint(Draw &w) { Size sz = GetSize(); /*w.DrawRect(0, 0, sz.cx, 1, Black); w.DrawRect(0, sz.cy - 1, sz.cx, 1, Black); w.DrawRect(0, 0, 1, sz.cy, Black); w.DrawRect(sz.cx - 1, 0, 1, sz.cy, Black);*/ int t = (int) (((pos - minValue) * sz.cx) / (maxValue - minValue)); if(t < 1) t = 1; if(t > sz.cx - 1) t = sz.cx - 1; if(shaded) { for(int i = 1; i < t; i++) w.DrawRect(i, 1, 1, sz.cy - 2, Blend(src, dst, 256 * i / (sz.cx - 1))); } else { w.DrawRect(Rect(1, 1, t, sz.cy - 1), dst); } if(t < sz.cx - 1) w.DrawRect(Rect(t, 1, sz.cx - 1, sz.cy - 1), Color(245, 245, 255)); String s = Format("%s : %.2f", text, pos); Size tsz = GetTextSize(s, StdFont()); w.DrawText((sz.cx - tsz.cx) / 2, (sz.cy - tsz.cy) / 2, s); }
Bullet::Bullet(const Vector& pos, float xm, int dir, BonusType type_) : physic(), life_count(3), sprite(), light(0.0f,0.0f,0.0f), lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light-small.sprite")), type(type_) { float speed = dir == RIGHT ? BULLET_XM : -BULLET_XM; physic.set_velocity_x(speed + xm); if(type == FIRE_BONUS) { sprite = SpriteManager::current()->create("images/objects/bullets/firebullet.sprite"); lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); lightsprite->set_color(Color(0.3f, 0.1f, 0.0f)); } else if(type == ICE_BONUS) { life_count = 10; sprite = SpriteManager::current()->create("images/objects/bullets/icebullet.sprite"); } else { log_warning << "Bullet::Bullet called with unknown BonusType" << std::endl; life_count = 10; sprite = SpriteManager::current()->create("images/objects/bullets/firebullet.sprite"); } bbox.set_pos(pos); bbox.set_size(sprite->get_current_hitbox_width(), sprite->get_current_hitbox_height()); }
void GLLightmap::draw_surface_part(const DrawingRequest& request) { const SurfacePartRequest* surfacepartrequest = (SurfacePartRequest*) request.request_data; const Surface* surface = surfacepartrequest->surface; boost::shared_ptr<GLTexture> gltexture = boost::dynamic_pointer_cast<GLTexture>(surface->get_texture()); GLSurfaceData *surface_data = reinterpret_cast<GLSurfaceData *>(surface->get_surface_data()); float uv_width = surface_data->get_uv_right() - surface_data->get_uv_left(); float uv_height = surface_data->get_uv_bottom() - surface_data->get_uv_top(); float uv_left = surface_data->get_uv_left() + (uv_width * surfacepartrequest->source.x) / surface->get_width(); float uv_top = surface_data->get_uv_top() + (uv_height * surfacepartrequest->source.y) / surface->get_height(); float uv_right = surface_data->get_uv_left() + (uv_width * (surfacepartrequest->source.x + surfacepartrequest->size.x)) / surface->get_width(); float uv_bottom = surface_data->get_uv_top() + (uv_height * (surfacepartrequest->source.y + surfacepartrequest->size.y)) / surface->get_height(); glBindTexture(GL_TEXTURE_2D, gltexture->get_handle()); intern_draw(request.pos.x, request.pos.y, request.pos.x + surfacepartrequest->size.x, request.pos.y + surfacepartrequest->size.y, uv_left, uv_top, uv_right, uv_bottom, 0.0, request.alpha, Color(1.0, 1.0, 1.0), Blend(), request.drawing_effect); }
void Spotlight::draw(DrawingContext& context) { context.push_target(); context.set_target(DrawingContext::LIGHTMAP); light->set_color(color); light->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); light->set_angle(angle); light->draw(context, position, 0); //lightcone->set_angle(angle); //lightcone->draw(context, position, 0); context.set_target(DrawingContext::NORMAL); lights->set_angle(angle); lights->draw(context, position, 0); base->set_angle(angle); base->draw(context, position, 0); center->draw(context, position, 0); lightcone->set_angle(angle); lightcone->draw(context, position, LAYER_FOREGROUND1 + 10); context.pop_target(); }
void Light::draw(DrawingContext& context) { sprite->set_color(color); sprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); sprite->draw(context.light(), position, 0); }
PowerUp::PowerUp(const Vector& pos, const std::string& sprite_name_) : MovingSprite(pos, sprite_name_, LAYER_OBJECTS, COLGROUP_MOVING), physic(), script(), no_physics(false), light(0.0f,0.0f,0.0f), lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light-small.sprite")) { physic.enable_gravity(true); SoundManager::current()->preload("sounds/grow.ogg"); SoundManager::current()->preload("sounds/fire-flower.wav"); //set default light for glow effect for standard sprites lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); lightsprite->set_color(Color(0.0f, 0.0f, 0.0f)); if (sprite_name == "images/powerups/egg/egg.sprite") { lightsprite->set_color(Color(0.2f, 0.2f, 0.0f)); } else if (sprite_name == "images/powerups/fireflower/fireflower.sprite") { lightsprite->set_color(Color(0.3f, 0.0f, 0.0f)); } else if (sprite_name == "images/powerups/iceflower/iceflower.sprite") { lightsprite->set_color(Color(0.0f, 0.1f, 0.2f)); } else if (sprite_name == "images/powerups/airflower/airflower.sprite") { lightsprite->set_color(Color(0.15f, 0.0f, 0.15f)); } else if (sprite_name == "images/powerups/earthflower/earthflower.sprite") { lightsprite->set_color(Color(0.0f, 0.3f, 0.0f)); } else if (sprite_name == "images/powerups/star/star.sprite") { lightsprite->set_color(Color(0.4f, 0.4f, 0.4f)); } }
CH_STYLE(DockCtrlChStyle, Style, StyleDefault) { font = StdFont(); barmargins = Rect(2,2,2,2); barheight = font.Info().GetHeight() + 8; tabheight = font.Info().GetHeight() + 8; tabmargin = 2; tabsel = Rect(2, 2, 2, 2); tabedge = Rect(6, 6, 6, 6); tabextendleft = 0; const TabCtrl::Style* defguistyle = &TabCtrl::StyleDefault(); barbackground[0] = defguistyle->normal[0]; DockCtrlImgsLook(barshut, DockCtrlImages::I_DClose, 3); DockCtrlImgsLook(barhide, DockCtrlImages::I_DHide, 3); DockCtrlImgsLook(barmenu, DockCtrlImages::I_DMenu, 3); CtrlsImageLook(tabnormal, CtrlsImg::I_TAB, 4); CtrlsImageLook(tabfirst, CtrlsImg::I_FTAB, 4); CtrlsImageLook(tablast, CtrlsImg::I_LTAB, 4); CtrlsImageLook(tabboth, CtrlsImg::I_BTAB, 4); stdhighlight = StandardHighlight(Blend(SColorHighlight, SColorPaper, 90), SColorHighlight); tabhighlight = AlphaHighlight(stdhighlight, 80); }
//--------------------------------------------------------------------------- tjs_error TJS_INTF_METHOD tTVPCrossFadeTransHandler::Process( /*in,out*/tTVPDivisibleData *data) { // process divided region of the entire layer bitmap #ifdef TVP_TRANS_SHOW_FPS BlendTick = TVPGetRoughTickCount32(); #endif if(Phase == 0) { // completely source 1 data->Dest = data->Src1; data->DestLeft = data->Src1Left; data->DestTop = data->Src1Top; } else if(Phase == PhaseMax) { // completety source 2 data->Dest = data->Src2; data->DestLeft = data->Src2Left; data->DestTop = data->Src2Top; } else { // blend Blend(data); } #ifdef TVP_TRANS_SHOW_FPS BlendTime += TVPGetRoughTickCount32() - BlendTick; #endif return TJS_S_OK; }
void DropGrid::Paint(Draw& w) { Size sz = GetSize(); Size isz = clear.GetStdSize(); if(clear_button && !notnull && IsEnabled() && IsSelected()) { clear.Show(); clear.RightPos(3, isz.cx).TopPos((sz.cy - isz.cy) / 2, isz.cy); } else clear.Hide(); GridDisplay &disp = display ? *display : list.GetDisplay(); bool hf = HasFocus(); bool isnull = rowid < 0; Color fg = hf ? SColorHighlightText() : IsEnabled() ? SColorText() : SColorDisabled(); Color bg = !IsEnabled() || !IsEditable() ? EditField::StyleDefault().disabled : notnull && isnull ? Blend(SColorPaper, Color(255, 0, 0), 32) : hf ? SColorHighlight() : SColorPaper(); const int d = 0; if(isnull) w.DrawRect(d, d, sz.cx - d * 2, sz.cy - d * 2, bg); else { Font fnt(StdFont()); Paint0(w, 1, 1, d, d, sz.cx - d * 2, sz.cy - d * 2, Format0(Null, rowid), 0, fg, bg, fnt); } if(hf) DrawFocus(w, d - 0, d - 0, sz.cx - (d - 0) * 2, sz.cy - (d - 0) * 2); }
Candle::Candle(const ReaderMapping& lisp) : MovingSprite(lisp, "images/objects/candle/candle.sprite", LAYER_BACKGROUNDTILES+1, COLGROUP_DISABLED), burning(true), flicker(true), lightcolor(1.0f, 1.0f, 1.0f), candle_light_1(SpriteManager::current()->create("images/objects/candle/candle-light-1.sprite")), candle_light_2(SpriteManager::current()->create("images/objects/candle/candle-light-2.sprite")) { if(!lisp.get("name", name)) { log_debug << "Couldn't get \"name\" property for candle." << std::endl; } if(!lisp.get("burning", burning)) { log_debug << "Couldn't get \"burning\" property for candle." << std::endl; } if(!lisp.get("flicker", flicker)) { log_debug << "Couldn't get \"flicker\" property for candle." << std::endl; } //get color from lisp std::vector<float> vColor; if(lisp.get("color", vColor)) { log_debug << "Couldn't get \"color\" property for candle." << std::endl; } //change the light color if defined if (vColor.size() >= 3) { lightcolor = Color(vColor); candle_light_1->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); candle_light_2->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); candle_light_1->set_color(lightcolor); candle_light_2->set_color(lightcolor); //the following allows the original candle appearance to be preserved candle_light_1->set_action("white"); candle_light_2->set_action("white"); } if (burning) { sprite->set_action("on"); } else { sprite->set_action("off"); } }
FileTabs::FileTabs() : stackedicons(false), greyedicons(true), filecolor(SColorLabel), extcolor(IsDark(SColorFace()) ? Blend(White, LtBlue) : LtBlue) { }
// blit src upon dest, blending with src.alpha static void scan_RGBA8_RGBA8(RGBA8 const* src, RGBA8* dest, int w) { int x; for( x=0; x<w; ++x ) { RGBA8 out = Blend(*src++, *dest); *dest++ = out; } }
Lantern::Lantern(const Vector& pos) : Rock(pos, "images/objects/lantern/lantern.sprite"), lightcolor(0.0f, 0.0f, 0.0f), lightsprite(SpriteManager::current()->create("images/objects/lightmap_light/lightmap_light.sprite")) { lightsprite->set_blend(Blend(GL_SRC_ALPHA, GL_ONE)); updateColor(); SoundManager::current()->preload("sounds/willocatch.wav"); }
void cxAtlas::OnRender(cxRender *render,const cxMatrixF &model) { if(renders.Size() == 0 || Texture() == nullptr){ return; } state.Set(cxRenderState::TrianglesVBO); state.Set(Texture()); state.Set(Blend()); render->Render(renders, model, State(), Flags()); }