Gridarta Editor
ImageCreatorFactory.java
Go to the documentation of this file.
1 /*
2  * Gridarta MMORPG map editor for Crossfire, Daimonin and similar games.
3  * Copyright (C) 2000-2015 The Gridarta Developers.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 
20 package net.sf.gridarta.maincontrol;
21 
22 import java.util.HashSet;
23 import java.util.Set;
38 import org.jetbrains.annotations.NotNull;
39 
44 public class ImageCreatorFactory {
45 
49  private ImageCreatorFactory() {
50  }
51 
60  @NotNull
61  public static <G extends GameObject<G, A, R>, A extends MapArchObject<A>, R extends Archetype<G, A, R>> ImageCreator<G, A, R> newImageCreator(@NotNull final ResourceIcons resourceIcons, @NotNull final EditorFactory<G, A, R> editorFactory, @NotNull final ProjectModel<G, A, R> projectModel, @NotNull final EditorSettings editorSettings) {
62  final MapViewSettings mapViewSettings = new DefaultMapViewSettings();
63  final Set<NamedGameObjectMatcher> matchers = new HashSet<>();
64  final NamedFilter defaultNamedFilterList = new NamedFilter(matchers);
65  final FilterControl<G, A, R> filterControl = new DefaultFilterControl<>(defaultNamedFilterList, editorSettings);
66  final RendererFactory<G, A, R> rendererFactory = editorFactory.newRendererFactory(mapViewSettings, filterControl, projectModel.getGameObjectParser(), projectModel.getFaceObjectProviders(), resourceIcons, projectModel.getSmoothFaces());
67  return new ImageCreator<>(projectModel.getMapManager(), rendererFactory);
68  }
69 
70 }
A Filter that aggregates named filters.
Graphical User Interface of Gridarta.
This package contains classes related to matching GameObjects, so called GameObjectMatchers.
Decorates an arbitrary GameObjectMatcher with a localized name that is suitable for the user interfac...
Base package of all Gridarta classes.
Reflects a game object (object on a map).
Definition: GameObject.java:36
Container for settings that affect the rendering of maps.
GameObjects are the objects based on Archetypes found on maps.
The filter package contains the classes for Filters.
Definition: BtnPopup.java:20
Base classes for rendering maps.
Utility class for creating ImageCreator instances.
Factory for creating MapRenderer instances.
Creates images from map instances.
Creates ImageIcon instances from resources.
Settings that apply to the editor.
ImageCreatorFactory()
Private constructor to prevent instantiation.