Caller of Region::Intersect was not ignore the return value in a conditional, so I refactored the conditional to not depend on the return value of Intersect without affect the original functionality of the code. This usage of Intersect may be a possible defect and should be checked out.
Since they always return sal_Bool values that are not used by any callers, I changed the Region class methods (both versions of each Union, Intersect, Exclude, XOr) from sal_Bool return type to void return type.
switching between SumAssign & OkCancel mode in the multibar results in a slight 'jumping' of the toolbar items when end up out of allignment with the other toolbar items.
The way alpha compositing took place in vcl's alpha vdev was subtly
wrong - it was supposed to implement porter-duff 'over', but didn't.
This is now fixed also for cases where the source surface contains
alpha, and needs to blend correctly into fully-transparent
background.
For reference: http://en.wikipedia.org/wiki/Alpha_compositing
insert() inserts before the given iterator and returns iterator to newly
inserted element, hence need to increment that iterator
(regression from 6bb68cae7c)
This fixes the simple case when all pages are to be printed from the
same paper tray. The use of this setting is still confusing when there
is application-set tray for a page (e.g., for a page style in Writer,
through Format->Page), because the change in Preferences is applied (and
will be used for pages without application-set tray), but Preferences
shows the application-set value on second try again...
IOW, it still s---s, but it s---s a bit less .-)
some of our menu icons are not RGBA, but our fade-out code only
handled images with an alpha channel, so we need to extend it
for bitmaps with alpha channel icons
There was a TODO to replace a manually managed array of Glyphs
to use std::list
a GlyphItem is 36 bytes long. the colleciton of GlyphItems is
mostly used in a sequential access. random insert/delete are fairly rare.
using std::list would increase the size by at least 8 to 16 bytes per
element (depending on the size of void*) (25 to 50% overhead)
and would greatly degrade data locality for most iterations loops.
so std::vector seems more appropriate here.