From: SourceForge.net <no...@so...> - 2011-08-26 16:01:48
|
Patches item #3392318, was opened at 2011-08-16 09:45 Message generated for change (Comment added) made by gilleain You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=320024&aid=3392318&group_id=20024 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Chris Pudney (cpudney) Assigned to: Nobody/Anonymous (nobody) Summary: Renderer2DModel.set(BackgroundColor.class,...) has no effect Initial Comment: I use the following code to set the background colour of a structure diagram RendererModel model = renderer.getRenderer2DModel(); model.set(BasicSceneGenerator.BackgroundColor.class, bg); but it has no effect; the background colour of the atoms (surrounding the symbols) is always white. ---------------------------------------------------------------------- >Comment By: gilleain maclean torrance (gilleain) Date: 2011-08-26 16:01 Message: Reviewed : looks good. I agree that it would be cleaner to have the background color in the rendering elements. Basically, this would mean a rectangle of the specified color as the first element in the tree (to ensure that it was drawn first). Of course, you could go crazy and have non-rectangular or semi-transparent backgrounds :) ---------------------------------------------------------------------- Comment By: Egon Willighagen (egonw) Date: 2011-08-26 15:39 Message: While making the patch I realized that if people change the parameter value after the renderer model has been associated with the visitor, the cached value would still not get updated. So, I made a new patch that removed the local backgroundColor field, and always gets it from the renderer model. And if that one is not set, it uses the default. Now, the visitor should really not have access to model anyway, as I think all info should come from the already rendered elements, but that seems another design violation that sneaked into the implementation. New patch attached. ---------------------------------------------------------------------- Comment By: Chris Pudney (cpudney) Date: 2011-08-25 02:25 Message: > do you plan to make a git patch out of that, or shall I? In the latter case, can I use your name as author in that patch? Egon, please generate the patch and feel free to name me as author Thanks, Chris. ---------------------------------------------------------------------- Comment By: Egon Willighagen (egonw) Date: 2011-08-24 06:35 Message: Hi Chris, do you plan to make a git patch out of that, or shall I? In the latter case, can I use your name as author in that patch? ---------------------------------------------------------------------- Comment By: Chris Pudney (cpudney) Date: 2011-08-24 04:41 Message: Actually, to fix this I modified setRendererModel as follows: @Override public void setRendererModel(final RendererModel model) { rendererModel = model; if (model.hasParameter(UseAntiAliasing.class)) { if (model.getParameter(UseAntiAliasing.class).getValue()) { graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // g.setStroke(new BasicStroke((int)model.getBondWidth())); } } if (model.hasParameter(BackgroundColor.class)) { backgroundColor = model.getParameter(BackgroundColor.class).getValue(); } } ---------------------------------------------------------------------- Comment By: Chris Pudney (cpudney) Date: 2011-08-16 10:11 Message: It would appear that the reason for this is that in the AWTDrawVisitor constructor we have: for (IGeneratorParameter<?> param : new BasicSceneGenerator().getParameters()) { if (param instanceof BasicSceneGenerator.BackgroundColor) this.backgroundColor = (Color)param.getDefault(); } I think the last line should be this.backgroundColor = (Color)param.getValue(); ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=320024&aid=3392318&group_id=20024 |