Bug 688288 - Remove gs_imager_state::transparency_stack
Summary: Remove gs_imager_state::transparency_stack
Status: RESOLVED FIXED
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Graphics Library (show other bugs)
Version: 0.00
Hardware: PC All
: P3 normal
Assignee: Michael Vrhel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-30 04:15 UTC by Igor Melichev
Modified: 2012-09-14 05:27 UTC (History)
2 users (show)

See Also:
Customer:
Word Size: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Igor Melichev 2005-08-30 04:15:18 UTC
This field is always zero (a rudimentary code in gstrans.c is disabled by 
PUSH_TS). The real transparency stack is maintained by the pdf14* devices. What 
we really need in the imager state is an ID for opacity and alpha masks.

If by some reason a transparency stack to be maintained by the graphics 
library, it should appear in gs_state rather than in gs_imager_state, and its 
elements must be properly reference-counted. However I don't think that it 
would be really useful due to problems with a possible execution of the 
operator 'gstate' in the global allocation mode.

For now I suggest to remove that rudimentary code because it looks as a dead 
branch and unreasonably complicates things.
Comment 1 Igor Melichev 2005-08-30 04:15:53 UTC
Raph, please assign this bug to me if you have no objection.
Comment 2 Igor Melichev 2005-08-30 04:29:13 UTC
More two pointers appear always zero :
gs_imager_state::opacity.mask
gs_imager_state::shape.mask
Comment 3 Michael Vrhel 2010-12-02 18:15:22 UTC
It would be good to remove this stuff.  It will involve removing a device procedure (discard transparency layer) so a bit of care needs to be taken.