diff --git a/java2d/src/main/scala/doodle/java2d/effect/Java2dWindow.scala b/java2d/src/main/scala/doodle/java2d/effect/Java2dWindow.scala index 86893c6d..21f34ad3 100644 --- a/java2d/src/main/scala/doodle/java2d/effect/Java2dWindow.scala +++ b/java2d/src/main/scala/doodle/java2d/effect/Java2dWindow.scala @@ -20,6 +20,7 @@ import doodle.core.Point import doodle.java2d.Picture import doodle.java2d.effect.Size.FixedSize +import java.awt.Dimension import java.awt.event.ActionEvent import java.awt.event.ActionListener import java.awt.event.WindowAdapter @@ -99,7 +100,7 @@ final class Java2dWindow( getContentPane().add(panel) frame.size match { case FixedSize(width, height) => - setSize(width.toInt, height.toInt) + setMinimumSize(Dimension(width.toInt, height.toInt)) case _ => () } pack() diff --git a/java2d/src/main/scala/doodle/java2d/examples/EmptyFrame.scala b/java2d/src/main/scala/doodle/java2d/examples/EmptyFrame.scala new file mode 100644 index 00000000..d987f3db --- /dev/null +++ b/java2d/src/main/scala/doodle/java2d/examples/EmptyFrame.scala @@ -0,0 +1,39 @@ +/* + * Copyright 2015 Creative Scala + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package doodle.java2d.examples + +import cats.effect.* +import doodle.core.* +import doodle.java2d.* +import doodle.java2d.effect.Frame +import doodle.syntax.all.* + +// This just renders an empty frame, so we can check it renders correctly. +// +// See issue #179 +object EmptyFrame extends IOApp { + def run(args: List[String]): IO[ExitCode] = { + val frame = Frame.default + .withSize(width = 300, height = 300) + .withBackground(Color.midnightBlue) + frame + .canvas() + .use { canvas => + canvas.closed >> IO.pure(ExitCode.Success) + } + } +}