Skip to content

Commit

Permalink
(renderbasic). Pass the RendererModel to contained renderers.
Browse files Browse the repository at this point in the history
RendererModel needs to be shared between nested instases of renderers.

Change-Id: If71601debb35caa551049828b63866cf23685e57
Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
  • Loading branch information
goglepox authored and egonw committed Mar 26, 2012
1 parent 2e05c1a commit c59f344
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
5 changes: 4 additions & 1 deletion src/main/org/openscience/cdk/renderer/AbstractRenderer.java
Expand Up @@ -70,7 +70,7 @@ public abstract class AbstractRenderer<T extends IChemObject> {
/**
*The renderer model is final as it is not intended to be replaced.
*/
protected final RendererModel rendererModel = new RendererModel();
protected final RendererModel rendererModel;

/**
* Font managers change the font size depending on the zoom.
Expand Down Expand Up @@ -102,6 +102,9 @@ public abstract class AbstractRenderer<T extends IChemObject> {
*/
protected AffineTransform transform;

public AbstractRenderer(RendererModel rendererModel) {
this.rendererModel = rendererModel;
}
/**
* The main method of the renderer, that uses each of the generators
* to create a different set of {@link IRenderingElement}s grouped
Expand Down
10 changes: 7 additions & 3 deletions src/main/org/openscience/cdk/renderer/AtomContainerRenderer.java
Expand Up @@ -118,12 +118,16 @@ public class AtomContainerRenderer extends AbstractRenderer<IAtomContainer>
* a class that manages mappings between zoom and font sizes
*/
public AtomContainerRenderer(List<IGenerator<IAtomContainer>> generators, IFontManager fontManager) {
this.generators = generators;
this.fontManager = fontManager;
for (IGenerator<IAtomContainer> generator : generators) {
this(new RendererModel(),generators,fontManager);
for (IGenerator<IAtomContainer> generator : generators) {
rendererModel.registerParameters(generator);
}
}
public AtomContainerRenderer(RendererModel rendererModel,List<IGenerator<IAtomContainer>> generators, IFontManager fontManager) {
super(rendererModel);
this.generators = generators;
this.fontManager = fontManager;
}

/**
* Setup the transformations necessary to draw this Atom Container.
Expand Down

0 comments on commit c59f344

Please sign in to comment.