{"id":811,"date":"2018-11-24T11:00:30","date_gmt":"2018-11-24T11:00:30","guid":{"rendered":"https:\/\/castle-engine.io\/wp\/?p=811"},"modified":"2018-11-24T05:20:25","modified_gmt":"2018-11-24T05:20:25","slug":"november-engine-features-part-1-editor-anchors-9-slices-rulers-copy-paste-documentation","status":"publish","type":"post","link":"https:\/\/castle-engine.io\/wp\/2018\/11\/24\/november-engine-features-part-1-editor-anchors-9-slices-rulers-copy-paste-documentation\/","title":{"rendered":"November Engine Features (Part 1): Editor (anchors, 9-slices rulers, copy-paste&#8230;), documentation"},"content":{"rendered":"<table class=\"thumbnails thumbnails-align-right\"><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/1.png\"\n             class=\"screenshot\"\n             title=\"Tutorial in &amp;quot;The Unholy Society&amp;quot; ( unholy-society.com ) made using Castle Game Engine Editor\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/1-200x114.png\"\n             width=\"200\" height=\"114\" \n            alt=\"Tutorial in &amp;quot;The Unholy Society&amp;quot; ( unholy-society.com ) made using Castle Game Engine Editor\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/2.png\"\n             class=\"screenshot\"\n             title=\"Tutorial in &amp;quot;The Unholy Society&amp;quot; ( unholy-society.com ) made using Castle Game Engine Editor\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/2-200x113.png\"\n             width=\"200\" height=\"113\" \n            alt=\"Tutorial in &amp;quot;The Unholy Society&amp;quot; ( unholy-society.com ) made using Castle Game Engine Editor\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/5.png\"\n             class=\"screenshot\"\n             title=\"Castle Game Engine Editor - anchors\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/5-200x114.png\"\n             width=\"200\" height=\"114\" \n            alt=\"Castle Game Engine Editor - anchors\"\n          ><\/a><\/td><\/tr><tr><td>\n          <a href=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/7.png\"\n             class=\"screenshot\"\n             title=\"Table with rows inside a scroll view, made using Castle Game Engine Editor\"><img loading=\"lazy\" decoding=\"async\"\n            style=\"float: right\"\n            src=\"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/7-200x114.png\"\n             width=\"200\" height=\"114\" \n            alt=\"Table with rows inside a scroll view, made using Castle Game Engine Editor\"\n          ><\/a><\/td><\/tr><\/table>\n<ol>\n<li>\n<p><a href=\"https:\/\/github.com\/castle-engine\/castle-engine\/blob\/master\/tools\/castle-editor\/README.md\">Castle Game Engine Editor<\/a> improvements:<\/p>\n<ol>\n<li>\n<p>Visually edit anchors. Anchors are incredibly important when using our user-interface &mdash; they allow you to position controls such that they work regardless of the window size (and <a href=\"https:\/\/castle-engine.io\/manual_2d_user_interface.php#section_scaling\">UI scaling<\/a>, if you use it).<\/p>\n<li>\n<p>Visually adjust <a href=\"https:\/\/castle-engine.io\/apidoc-unstable\/html\/CastleControls.TCastleImageControl.html#ProtectedSides\">TCastleImageControl.ProtectedSides<\/a>. This allows to configure rendering of images using 3&#215;3 (9-slices) algorithm. The editor now shows the &#8220;rulers&#8221; that split image into 3&#215;3 parts with different scaling.<\/p>\n<li>\n<p>Copy-pasting of component within the editor is possible. This way you can quickly duplicate a component hierarchy, or move it between various designs.<\/p>\n<li>\n<p><a href=\"https:\/\/castle-engine.io\/apidoc-unstable\/html\/CastleComponentSerialize.TSerializedComponent.html\">TSerializedComponent<\/a> is an alternative approach to deserializing design files. (<code>xxx.castle-user-interface<\/code>, <code>xxx.castle-transform<\/code>) It&#8217;s powerful when you need to instantiate the same file multiple times. This way the file is loaded only once (at <code>TSerializedComponent.Create<\/code> call) and you can instantiate it many times fast (using <code>TSerializedComponent.UserInterfaceLoad<\/code> method).\n    <\/ol>\n<li>Additions to the documentation:\n<ol>\n<li>\n<p><a href=\"https:\/\/castle-engine.io\/x3d_extensions_mirror_plane.php\">Making mirrors on flat objects, using X3D nodes<\/a>.<\/p>\n<li>\n<p><a href=\"https:\/\/github.com\/castle-engine\/castle-engine\/wiki\/Upgrading-to-Castle-Game-Engine-6.6\">Upgrading to the (upcoming) Castle Game Engine 6.6<\/a> &mdash; this page lists known places where we (reluctantly) had to break compatibility, and that you will have to adjust when upgrading your games from engine 6.4 to 6.6.<\/p>\n<li>\n<p><a href=\"https:\/\/github.com\/castle-engine\/castle-engine\/wiki\/fpcupdeluxe#cross-compilation-to-android\">fpcupdeluxe instructions enhanced with AArch64 (64-bit Android devices) information<\/a>\n     <\/ol>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Castle Game Engine Editor improvements: Visually edit anchors. Anchors are incredibly important when using our user-interface &mdash; they allow you to position controls such that they work regardless of the window size (and UI scaling, if you use it). Visually adjust TCastleImageControl.ProtectedSides. This allows to configure rendering of images using 3&#215;3 (9-slices) algorithm. The editor &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/castle-engine.io\/wp\/2018\/11\/24\/november-engine-features-part-1-editor-anchors-9-slices-rulers-copy-paste-documentation\/\" class=\"more-link\">Continue reading  \u27a4<span class=\"screen-reader-text\"> &#8220;November Engine Features (Part 1): Editor (anchors, 9-slices rulers, copy-paste&#8230;), documentation&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":813,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-811","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/castle-engine.io\/wp\/wp-content\/uploads\/2018\/11\/2.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9IgYW-d5","jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts\/811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/comments?post=811"}],"version-history":[{"count":5,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts\/811\/revisions"}],"predecessor-version":[{"id":821,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/posts\/811\/revisions\/821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/media\/813"}],"wp:attachment":[{"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/media?parent=811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/categories?post=811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/castle-engine.io\/wp\/wp-json\/wp\/v2\/tags?post=811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}