说明实现ThemePack的基本思想。

目录

背景

1. 实现不依赖窗口大小的GUI时需要解决的问题

在Processing中,可以通过执行以下代码调整窗口大小:

surface.setResizable(true);

但是,仅执行此函数,当改变窗口大小时,布局会被破坏。

这是因为rect函数和ellipse函数接受的是从(0, 0)开始的绝对坐标。

2. 为实现与不依赖窗口大小的GUI

在Shape Tool中,可以实现与窗口大小或比例无关的动态GUI设计。

以下将介绍在Shape Tool中,为实现与窗口大小无关的GUI所采用的机制。


所采用的机制

1. 容器(Container)

容器是一个用于存放按钮和基础对象的大盒子。容器内对象的位置通过于containerAnchor的相对坐标来确定。