Vij*_*hew 6

Morphic不仅仅是NSView或任何其他图形类,只是允许重新实现一组有限的功能.Morphic是一个极具可塑性的UI构建工具包.Morphic背后的一些设计理念使这个意图明确:

  • 包括2D坐标系的综合层次结构.它们不限于笛卡儿或线性.有用的非线性坐标系包括极坐标,对数,双曲线和地理(类似地图)投影.
  • 从变形本身分离坐标系的处理.变形应该只需要选择其首选坐标系,而不是需要将它绘制的每个点单独转换为世界坐标.其#drawOn:方法及其子变形的位置以其自己的坐标系表示.
  • 显示属性(如大小或分辨率)的完全独立性.没有像素的概念.GUI被认为处于更高层次.所有GUI都与像素分辨率无关.所有渲染都是抗锯齿的.
  • 分离坐标系可以简化变形的移动,缩放和旋转.
  • 所有坐标都是浮点数.这对于允许完全任意的比例而没有明显的舍入误差是有益的.
  • 变形层次结构不是形状的层次结构.变形没有边界或颜色的概念.亚模态对齐没有一般概念.特定的变体可以以对自身有意义的任何方式实现这些.
  • Morphic事件处理非常灵活,允许您将事件发送到任意对象.该对象不需要子类Morph.


Sea*_*ris 6

警告:Smalltalk的现场动态环境是一个红色药丸.静态,冷冻语言对你来说永远不会是一样的;-)

简而言之:Morphic是一个虚拟世界,您可以直接探索实时对象(就像现实世界一样).你有没有看过UI和......

  • 想知道"哇,真的很酷!他们是怎么做到的?"
  • 福步"我希望他们做过X!"

虽然这些想法会导致任何其他环境中的痛苦和挫折,但在Morphic中则不然.

如果你想要打击你的心灵,成为一个形态世界的神:

  1. 启动Pharo图像,然后单击背景(实际上是"世界")以显示世界菜单:

    替代文字

  2. 在其中一个菜单选项上打开"halos"(在我的Mac上按住Shift键并单击): 替代文字

  3. 拖动"拾取"光环(中上部)并将其放在世界的某个位置: 替代文字

  4. 只要享受现在是可用的菜单项,想要的: 替代文字

说真的,点击它,看看浏览器打开!!

有没有一个选项,你总是使用一个供应商埋藏三个菜单级深?这有用吗?!这是Morphic等直播GUI环境的强大功能.

如果您有兴趣,请阅读John Maloney和Randall Smith 在Morphic用户界面构建环境中的直接性和生动性