• draw.OutlinedRoundedBox
    10 replies, posted
I know this isn't much of a release, but i personally think this is very useful for people who don't know how to do this. function: [lua] function draw.OutlinedRoundedBox(Bordersize, x, y, Width, Height, color, outlinew, outlinec) for _x=-1, 1 do for _y=-1, 1 do draw.RoundedBox(Bordersize, x + (_x*outlinew), y + (_y*outlinew), Width, Height, outlinec) end end draw.RoundedBox(Bordersize, x, y, Width, Height, color) end [/lua] and to use it. something like this :) [lua] draw.OutlinedRoundedBox(4, 0, 0, 300, 100, Color( 200,200,255,255), 2, Color(50,50,50,255)) [/lua] This will produce something like this background: [img]http://i112.photobucket.com/albums/n172/AntiD2/rounded.png[/img] I also made a similar function to make health bars: [lua] function draw.PlayerBar(Bordersize, x, y, Width, Height, color, outlinew, outlinec, BGW, BGH) for _x=-1, 1 do for _y=-1, 1 do draw.RoundedBox(Bordersize, x + (_x*outlinew), y + (_y*outlinew), BGW, BGH, outlinec) end end draw.RoundedBox(Bordersize, x, y, Width +4, Height + 3, color) end [/lua] [lua] local health = LocalPlayer():Health() draw.PlayerBar(4, x +4,y + 4, health * 2.88, 21, Color( 170,0,0,255), 2, Color(50,50,50,255), 292,25) [/lua] Will make the health bar in the screenshot. PS:I didn't intend for my name to be dave brown :), that is my family members name, just for a test Thanks for reading :)
Transparency works perfectly fine.
well, that's because there is another rounded box behind the first.....ill make something else, so it just draws edges, going to take a while though, trying to figure out how to Draw a verticle (health) bar sort of? and i did it the way someone told me to, and it disappears totally..so i'll have to work on it. does anyone know the base code for DrawOutlinedRect?
Modified Rounded box: [lua] local Tex_Corner8 = surface.GetTextureID( "gui/corner8" ) local Tex_Corner16 = surface.GetTextureID( "gui/corner16" ) function draw.RoundedOutlinedBox( bordersize, x, y, w, h, color ) x = math.Round( x ) y = math.Round( y ) w = math.Round( w ) h = math.Round( h ) surface.SetDrawColor( color.r, color.g, color.b, color.a ) // Draw as much of the rect as we can without textures surface.DrawRect( x+bordersize, y, w-bordersize*2, 2 ) surface.DrawRect( x+bordersize, h+18, w-bordersize*2, 2 ) surface.DrawRect( x, y+bordersize, bordersize, h-bordersize*2 ) surface.DrawRect( x+w-bordersize, y+bordersize, bordersize, h-bordersize*2 ) local tex = Tex_Corner8 if ( bordersize > 8 ) then tex = Tex_Corner16 end surface.SetTexture( tex ) surface.DrawTexturedRectRotated( x + bordersize/2 , y + bordersize/2, bordersize, bordersize, 0 ) surface.DrawTexturedRectRotated( x + w - bordersize/2 , y + bordersize/2, bordersize, bordersize, 270 ) surface.DrawTexturedRectRotated( x + w - bordersize/2 , y + h - bordersize/2, bordersize, bordersize, 180 ) surface.DrawTexturedRectRotated( x + bordersize/2 , y + h -bordersize/2, bordersize, bordersize, 90 ) end [/lua] then the function to draw out outlined rounded box: [lua] function draw.RoundedBoxO(Bordersize, x, y, Width, Height, color, outlinew, outlinec) for _x=-1, 1 do for _y=-1, 1 do draw.RoundedBox(Bordersize, x + (_x*outlinew), y + (_y*outlinew), Width, Height, outlinec) end end draw.RoundedOutlinedBox(Bordersize, x, y, Width, Height, color) end [/lua] [b]Important![/b] make sure you set the outlinew to 0, so a test box would be [lua] draw.RoundedBoxO(4, 20, 20, 200, 200, Color(255,255,255,255), 0, Color(255,0,0,20)) [/lua] which produces: [img]http://img705.imageshack.us/img705/1597/otlined.png[/img] I know this is simple, but very useful to me. I'm going to attempt a textured/gradient one really quickly before sleep
Very useful function for quickly drawing boxes with edges. Useful'd
I like mine better [img]http://stoned.bplaced.net/img/RoundedOutline.png[/img]
Why don't you share your code? :)
[QUOTE=antid2;20159497]Why don't you share your code? :)[/QUOTE] It looks like a WIP to me, besides, if he's coding a windows based derma skin I doubt hes going to publicly release it.
[QUOTE=Kopimi;20206080]It looks like a WIP to me, besides, if he's coding a windows based derma skin I doubt hes going to publicly release it.[/QUOTE] I will, when it's done. (soon)
Sorry, you need to Log In to post a reply to this thread.