summaryrefslogtreecommitdiff
path: root/render/gradient.c
AgeCommit message (Collapse)Author
2008-02-14speed up the pyramid gradient using memcpy's. also make it not crash for ↵Dana Jansens
1px high textures. here are some sample profiling results. pyramid2 is the new code % cumulative self self total time seconds seconds calls ms/call ms/call name 58.78 1.54 1.54 255 6.04 6.04 gradient_pyramid1 40.46 2.60 1.06 255 4.16 4.16 gradient_pyramid2 54.88 2.25 2.25 504 4.46 4.46 gradient_pyramid1 44.88 4.09 1.84 504 3.65 3.65 gradient_pyramid2
2008-02-14a small optimization for the vertical gradients, and use the same log(n) ↵Dana Jansens
strategy to use less memcpy's for filling out the horizontal gradients
2008-02-14use memcpy's to speed up vertical gradients too. split the fancy memcpy() ↵Dana Jansens
code out into the repeat_pixel function.
2008-02-14use memcpy's to make splitvertical gradient much faster - using log n ↵Dana Jansens
memcpy's is much quicker than setting a pointer value n times Here are some profiling results. splitvertical1 is the original code, splitvertical2 is some slight improvements in locality for it, and splitvertical3 is the new O(log n) memcpy code % cumulative self self total time seconds seconds calls ms/call ms/call name 49.44 0.88 0.88 1063 0.83 0.83 gradient_splitvertical1 47.19 1.72 0.84 1063 0.79 0.79 gradient_splitvertical2 2.81 1.77 0.05 1063 0.05 0.05 gradient_splitvertical3 i also tested this with 'time' to draw 1000 gradients, and the new code used approximately half the user time, and finished 10 seconds quicker. so yeah, it's magical and works well.
2008-01-27make horizontal gradients faster by not jumping around in memory as muchDana Jansens
2007-07-17remove trailing whitespaceMikael Magnusson
2007-07-1480 cols everywhereMikael Magnusson
2007-07-11no more crash in splitvertical. i think i changed the size of the middle ↵Dana Jansens
gradient too. it's always 1px now unless the texture is very small, then it can be 0. if theres a discrepency, the bottom color gets the extra pixel.
2007-06-13don't alloc/free colors every time splitvertical is drawnDana Jansens
2007-06-10make bevel strengths theme-selectableDana Jansens
2007-06-09wrongly indented lineMikael Magnusson
2007-06-09fix when 1or2px splitverticalDana Jansens
2007-06-09no crashing in splitverticalDana Jansens
2007-06-09middle gradient in splitverticalDana Jansens
2007-06-05fix parentrel bevelsDana Jansens
2007-06-05combine the parent and child textures in fun ways when a parentrelative ↵Dana Jansens
texture with a bevel is placed right overtop of another texture with a bevel
2007-06-04unused variablesDana Jansens
2007-06-04allow effects on parentrelative textures, ie bevels and interlaces and bordersMikael Magnusson
2007-04-231) translate all of openbox's outputDana Jansens
2) update copyrights. 3) make release. ok that part not quite yet.
2007-03-02declare variables at the beginning of blocks, because it is nice to do so. ↵Dana Jansens
and polite?
2006-09-07fix a crash when using mirrorhorizontal and resizing a window to width 1Mikael Magnusson
2006-08-24rename osx to mirrorhorizontal and split to splitvertical, this will make ↵Mikael Magnusson
all themes that used them not look right so update them
2006-08-22update copyright step 2Mikael Magnusson
2006-08-20patch from thorsten vollmer to fix bug #2506, interlaces and bevels not ↵Mikael Magnusson
drawing correctly
2006-08-01a "osx" gradient, it is like horizontal but mirrors in the centerMikael Magnusson
2006-06-14so it wont leak because ob uses a hash for colors, but lets free the colors ↵Mikael Magnusson
anyway
2006-06-14okay that parent didnt point where i thoughtMikael Magnusson
2006-06-14forgot i was in the middle of somethingMikael Magnusson
2006-06-14initial commit of split gradient, looks like some RrColor leaking perhapsMikael Magnusson
2003-10-15consistant glib type usageDana Jansens
2003-09-17no tabsDana Jansens
2003-09-17add copyright headers, adjust --version output to include copyright, and ↵Dana Jansens
--help output to not include version output.
2003-09-02interlace is drawn first, so bevels n shit cover itDana Jansens
2003-09-01add interlaceColor, and support interlaced gradientsDana Jansens
2003-08-31use RrColorGCDana Jansens
2003-08-05split the increment into a separate macroDana Jansens
2003-08-01move the dekstop file to data/Dana Jansens
2003-07-24use ob_debug for any debug printing and only display the output when its a ↵Dana Jansens
debug build or when --debug is passed to it
2003-07-24draw the bevel stuff in the pixel data buffer so parent-relative stuff can ↵Dana Jansens
use it.
2003-06-29missed setting 'current' at the end of the pyramid gradientDana Jansens
2003-06-24do horz grads without any multipliactionDana Jansens
2003-06-24made all the gradients work with integer math. removed the pipecross and ↵Dana Jansens
rectangle gradietns tho cuz they are ugly and i dont want to code that bullshit cuz they are ugly.
2003-06-24integer math for gradients. horz vert and diags and pipecross work so far.Dana Jansens
2003-06-21more namespacing with Rr*Dana Jansens
2003-06-21more namespacing with Rr*Dana Jansens
2003-06-21more namespacing with Rr*Dana Jansens
2003-06-21rename pixel32/16 to RrPixel32/16Dana Jansens
2003-06-20this is going to break the kernel/ building.Dana Jansens
lots of modifications to the render API, prefixing everything, making proper names for everything. the structures are not hidden/opaque yet, but the naming scheme of the public API works much better now.
2003-06-20simply the render interface by not requiring the setting of all the areas. ↵Dana Jansens
only take a w and h in paint(). best font layout ever.
2003-06-20slight optimizations, and make the last 4 gradients work properlyDana Jansens