/* * Copyright (C) 2015-2017 PÂRIS Quentin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.phoenicis.containers.dto; import org.phoenicis.containers.wine.parameters.*; public class WinePrefixContainerDTO extends ContainerDTO { private final String architecture; private final String distribution; private final String version; private final UseGLSL useGlslValue; private final DirectDrawRenderer directDrawRenderer; private final VideoMemorySize videoMemorySize; private final OffscreenRenderingMode offscreenRenderingMode; private final Multisampling multisampling; private final AlwaysOffscreen alwaysOffscreen; private final StrictDrawOrdering strictDrawOrdering; private final RenderTargetModeLock renderTargetModeLock; private final MouseWarpOverride mouseWarpOverride; private WinePrefixContainerDTO(Builder builder) { super(builder.name, builder.path, ContainerType.WINEPREFIX); this.architecture = builder.architecture; this.distribution = builder.distribution; this.version = builder.version; this.useGlslValue = builder.useGlslValue; this.directDrawRenderer = builder.directDrawRenderer; this.videoMemorySize = builder.videoMemorySize; this.offscreenRenderingMode = builder.offscreenRenderingMode; this.multisampling = builder.multisampling; this.alwaysOffscreen = builder.alwaysOffscreen; this.strictDrawOrdering = builder.strictDrawOrdering; this.renderTargetModeLock = builder.renderTargetModeLock; this.mouseWarpOverride = builder.mouseWarpOverride; } public String getArchitecture() { return architecture; } public String getDistribution() { return distribution; } public String getVersion() { return version; } public UseGLSL getUseGlslValue() { return useGlslValue; } public DirectDrawRenderer getDirectDrawRenderer() { return directDrawRenderer; } public VideoMemorySize getVideoMemorySize() { return videoMemorySize; } public OffscreenRenderingMode getOffscreenRenderingMode() { return offscreenRenderingMode; } public Multisampling getMultisampling() { return multisampling; } public AlwaysOffscreen getAlwaysOffscreen() { return alwaysOffscreen; } public StrictDrawOrdering getStrictDrawOrdering() { return strictDrawOrdering; } public RenderTargetModeLock getRenderTargetModeLock() { return renderTargetModeLock; } public MouseWarpOverride getMouseWarpOverride() { return mouseWarpOverride; } public static class Builder { private String name; private String path; private String architecture; private String distribution; private String version; private UseGLSL useGlslValue; private DirectDrawRenderer directDrawRenderer; private VideoMemorySize videoMemorySize; private OffscreenRenderingMode offscreenRenderingMode; private Multisampling multisampling; private AlwaysOffscreen alwaysOffscreen; private StrictDrawOrdering strictDrawOrdering; private RenderTargetModeLock renderTargetModeLock; private MouseWarpOverride mouseWarpOverride; public Builder withName(String name) { this.name = name; return this; } public Builder withPath(String path) { this.path = path; return this; } public Builder withArchitecture(String architecture) { this.architecture = architecture; return this; } public Builder withDistribution(String distribution) { this.distribution = distribution; return this; } public Builder withVersion(String version) { this.version = version; return this; } public Builder withGlslValue(UseGLSL useGlslValue) { this.useGlslValue = useGlslValue; return this; } public Builder withDirectDrawRenderer(DirectDrawRenderer directDrawRenderer) { this.directDrawRenderer = directDrawRenderer; return this; } public Builder withVideoMemorySize(VideoMemorySize videoMemorySize) { this.videoMemorySize = videoMemorySize; return this; } public Builder withOffscreenRenderingMode(OffscreenRenderingMode offscreenRenderingMode) { this.offscreenRenderingMode = offscreenRenderingMode; return this; } public Builder withMultisampling(Multisampling multisampling) { this.multisampling = multisampling; return this; } public Builder withAlwaysOffscreen(AlwaysOffscreen alwaysOffscreen) { this.alwaysOffscreen = alwaysOffscreen; return this; } public Builder withStrictDrawOrdering(StrictDrawOrdering strictDrawOrdering) { this.strictDrawOrdering = strictDrawOrdering; return this; } public Builder withRenderTargetModeLock(RenderTargetModeLock renderTargetModeLock) { this.renderTargetModeLock = renderTargetModeLock; return this; } public Builder withMouseWarpOverride(MouseWarpOverride mouseWarpOverride) { this.mouseWarpOverride = mouseWarpOverride; return this; } public ContainerDTO build() { return new WinePrefixContainerDTO(this); } } }