void drawSlider(entity me) { float controlLeft; float save; me.focusable = !me.disabled; save = draw_alpha; if(me.disabled) draw_alpha *= me.disabledAlpha; draw_ButtonPicture('0 0 0', strcat(me.src, "_s"), eX * (1 - me.textSpace) + eY, me.color2, 1); if(almost_in_bounds(me.valueMin, me.value, me.valueMax)) { controlLeft = (me.value - me.valueMin) / (me.valueMax - me.valueMin) * (1 - me.textSpace - me.controlWidth); if(me.disabled) draw_Picture(eX * controlLeft, strcat(me.src, "_d"), eX * me.controlWidth + eY, me.colorD, 1); else if(me.pressed) draw_Picture(eX * controlLeft, strcat(me.src, "_c"), eX * me.controlWidth + eY, me.colorC, 1); else if(me.focused) draw_Picture(eX * controlLeft, strcat(me.src, "_f"), eX * me.controlWidth + eY, me.colorF, 1); else draw_Picture(eX * controlLeft, strcat(me.src, "_n"), eX * me.controlWidth + eY, me.color, 1); } me.setText(me, me.valueToText(me, me.value)); draw_alpha = save; drawLabel(me); me.text = NULL; // TEMPSTRING! }
void drawListBoxItemNexuizMapList(entity me, float i, vector absSize, float isSelected) { // layout: Ping, Map name, Map name, NP, TP, MP string s; float p; float theAlpha; float included; if(!MapInfo_Get_ByID(i)) return; included = me.g_maplistCacheQuery(me, i); if(included || isSelected) theAlpha = SKINALPHA_MAPLIST_INCLUDEDFG; else theAlpha = SKINALPHA_MAPLIST_NOTINCLUDEDFG; if(isSelected) draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED); else if(included) draw_Fill('0 0 0', '1 1 0', SKINCOLOR_MAPLIST_INCLUDEDBG, SKINALPHA_MAPLIST_INCLUDEDBG); s = ftos(p); draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); if(included) draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1); s = draw_TextShortenToWidth(strcat(MapInfo_Map_bspname, ": ", MapInfo_Map_title), me.columnNameSize / me.realFontSize_x, 0); draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0) * me.realFontSize_x)) * eX, s, me.realFontSize, SKINCOLOR_MAPLIST_TITLE, theAlpha, 0); s = draw_TextShortenToWidth(MapInfo_Map_author, me.columnNameSize / me.realFontSize_x, 0); draw_Text(me.realUpperMargin2 * eY + (me.columnNameOrigin + 1.00 * (me.columnNameSize - draw_TextWidth(s, 0) * me.realFontSize_x)) * eX, s, me.realFontSize, SKINCOLOR_MAPLIST_AUTHOR, theAlpha, 0); MapInfo_ClearTemps(); }
void XonoticCrosshairButton_draw(entity me) { vector sz, rgb; float a; rgb = eX * cvar("crosshair_color_red") + eY * cvar("crosshair_color_green") + eZ * cvar("crosshair_color_blue"); a = cvar("crosshair_alpha"); if(!me.checked && !me.focused) { a *= me.disabledAlpha; rgb = '1 1 1'; } SUPER(XonoticCrosshairButton).draw(me); sz = draw_PictureSize(me.src3); sz = globalToBoxSize(sz, draw_scale); sz = (10 * '1 1 0' + sz * cvar("crosshair_size")) * 0.05; // (10 * '1 1 0' + ...) * 0.05 here to make visible size changes happen also at bigger sizes if(sz_x > 0.95) sz = sz * (0.95 / sz_x); if(sz_y > 0.95) sz = sz * (0.95 / sz_y); draw_Picture('0.5 0.5 0' - 0.5 * sz, me.src3, sz, rgb, a); if(cvar("crosshair_dot")) draw_Picture('0.5 0.5 0' - 0.5 * sz * cvar("crosshair_dot_size"), me.src4, sz * cvar("crosshair_dot_size"), rgb, a * cvar("crosshair_dot_alpha")); }
void XonoticCrosshairButton_draw(entity me) { vector sz, rgb; float a; rgb = stov(cvar_string("crosshair_color")); a = cvar("crosshair_alpha"); if(!me.checked && !me.focused && me.cvarValueFloat != -1) { a *= me.disabledAlpha; rgb = '1 1 1'; } if(me.cvarValueFloat == -1) // update the preview if this is the preview button { if(me.src3) strunzone(me.src3); me.src3 = strzone(strcat("/gfx/crosshair", cvar_string("crosshair"))); me.focused = 1; me.checked = 0; } SUPER(XonoticCrosshairButton).draw(me); sz = draw_PictureSize(me.src3); sz = globalToBoxSize(sz, draw_scale); if(me.cvarValueFloat == -1) { sz = (6 * '1 1 0' + sz * cvar("crosshair_size")) * 0.08; // (6 * '1 1 0' + ...) * 0.08 here to make visible size changes happen also at bigger sizes if(sz_x > 0.95) sz = sz * (0.95 / sz_x); if(sz_y > 0.95) sz = sz * (0.95 / sz_y); } else // show the crosshair picker at full size sz = '0.95 0.95 0'; draw_Picture('0.5 0.5 0' - 0.5 * sz, me.src3, sz, rgb, a); if(cvar("crosshair_dot")) { if(cvar_string("crosshair_dot_color") != "0") rgb = stov(cvar_string("crosshair_dot_color")); draw_Picture('0.5 0.5 0' - 0.5 * sz * cvar("crosshair_dot_size"), me.src4, sz * cvar("crosshair_dot_size"), rgb, a * cvar("crosshair_dot_alpha")); } }
void XonoticColorpicker_draw(entity me) { SUPER(XonoticColorpicker).draw(me); float B, C, aC; C = cvar("r_textcontrast"); B = cvar("r_textbrightness"); // for this to work, C/(1-B) must be in 0..1 // B must be < 1 // C must be < 1-B B = bound(0, B, 1); C = bound(0, C, 1-B); aC = 1 - C / (1 - B); draw_Picture(me.imgOrigin, strcat(me.src, "_m"), me.imgSize, '0 0 0', aC); draw_Picture(me.imgOrigin, strcat(me.src, "_m"), me.imgSize, me.color, B); }
void NexuizCharmap_draw(entity me) { if(me.focused) { if(!me.pressed || (me.selectedCharacterCell == me.previouslySelectedCharacterCell)) { vector c; c = eX * (mod(me.selectedCharacterCell, 16) / 16.0); c += eY * (floor(me.selectedCharacterCell / 16.0) / 10.0); draw_Picture(c, me.image2, '0.0625 0.1 0', '1 1 1', 1); } } SUPER(NexuizCharmap).draw(me); }
void Gecko_draw(entity me) { vector drawSize; if( me.texturePath ) { /* The gecko browser is actually only drawn to a part of the texture. Correct scaling so that part fills up the whole item area. */ drawSize_x = 1.0 / me.textureExtent_x; drawSize_y = 1.0 / me.textureExtent_y; draw_Picture( '0 0 0', strcat( "/", me.texturePath ), drawSize, '1 1 1', 1.0 ); } else { local vector fontsize; fontsize_x = fontsize_y = 1.0 / 30.0; fontsize_z = 0.0; draw_Text( '0 0 0', _("Browser not initialized!"), fontsize, '1 1 1', 1.0, 0 ); } }
void XonoticColorpickerString_draw(entity me) { float save; save = draw_alpha; if(me.disabled) draw_alpha *= me.disabledAlpha; SUPER(XonoticColorpickerString).draw(me); vector sz; sz = draw_PictureSize(strcat(me.src, "_selected")); sz = globalToBoxSize(sz, draw_scale); if(me.disabled) me.prevcoords = '1 1 0'; else draw_Picture(me.imgOrigin + me.prevcoords - 0.5 * sz, strcat(me.src, "_selected"), sz, '1 1 1', 1); draw_alpha = save; }
void NexuizColorpickerString_draw(entity me) { float save; save = draw_alpha; if(me.disabled) draw_alpha *= me.disabledAlpha; SUPER(NexuizColorpickerString).draw(me); vector sz; sz = draw_PictureSize(strcat(me.src, "_selected")); sz = globalToBoxSize(sz, draw_scale); if(!me.disabled) { cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin))); draw_Picture(me.imgOrigin + me.prevcoords - 0.5 * sz, strcat(me.src, "_selected"), sz, '1 1 1', 1); } draw_alpha = save; }
void drawButton(entity me) { vector bOrigin, bSize; float save; me.focusable = !me.disabled; save = draw_alpha; if(me.disabled) draw_alpha *= me.disabledAlpha; if(me.src) { if(me.srcMulti) { bOrigin = '0 0 0'; bSize = '1 1 0'; if(me.disabled) draw_ButtonPicture(bOrigin, strcat(me.src, "_d", me.srcSuffix), bSize, me.colorD, 1); else if(me.forcePressed || me.pressed || me.clickTime > 0) draw_ButtonPicture(bOrigin, strcat(me.src, "_c", me.srcSuffix), bSize, me.colorC, 1); else if(me.focused) draw_ButtonPicture(bOrigin, strcat(me.src, "_f", me.srcSuffix), bSize, me.colorF, 1); else draw_ButtonPicture(bOrigin, strcat(me.src, "_n", me.srcSuffix), bSize, me.color, 1); } else { if(me.realFontSize_y == 0) { bOrigin = '0 0 0'; bSize = '1 1 0'; } else { bOrigin = eY * (0.5 * (1 - me.realFontSize_y)) + eX * (0.5 * (me.keepspaceLeft - me.realFontSize_x)); bSize = me.realFontSize; } if(me.disabled) draw_Picture(bOrigin, strcat(me.src, "_d", me.srcSuffix), bSize, me.colorD, 1); else if(me.forcePressed || me.pressed || me.clickTime > 0) draw_Picture(bOrigin, strcat(me.src, "_c", me.srcSuffix), bSize, me.colorC, 1); else if(me.focused) draw_Picture(bOrigin, strcat(me.src, "_f", me.srcSuffix), bSize, me.colorF, 1); else draw_Picture(bOrigin, strcat(me.src, "_n", me.srcSuffix), bSize, me.color, 1); } } if(me.src2) { bOrigin = me.keepspaceLeft * eX; bSize = eY + eX * (1 - me.keepspaceLeft); bOrigin += bSize * (0.5 - 0.5 * me.src2scale); bSize = bSize * me.src2scale; draw_Picture(bOrigin, me.src2, bSize, me.color2, me.alpha2); } draw_alpha = save; drawLabel(me); if(me.clickTime > 0 && me.clickTime <= frametime) { // keyboard click timer expired? Fire the event then. if not(me.disabled) me.onClick(me, me.onClickEntity); } me.clickTime -= frametime; }
void drawImage(entity me) { draw_Picture(me.imgOrigin, me.src, me.imgSize, me.color, 1); }