Merge branch 'cpu-render-pixmap-cache'

This commit is contained in:
Minjae Song
2019-01-22 22:39:15 +09:00
8 changed files with 901 additions and 492 deletions

320
.idea/workspace.xml generated
View File

@@ -7,11 +7,8 @@
</component>
<component name="ChangeListManager">
<list default="true" id="22c5bc80-996c-4846-b173-7dc8c2096fe3" name="Default" comment="">
<change beforePath="$PROJECT_DIR$/.idea/libraries/GdxLib.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/GdxLib.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/CONTRIBUTING.md" beforeDir="false" afterPath="$PROJECT_DIR$/CONTRIBUTING.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" beforeDir="false" afterPath="$PROJECT_DIR$/FontTestGDX/lib/TerrarumSansBitmap.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/demo.PNG" beforeDir="false" afterPath="$PROJECT_DIR$/demo.PNG" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" beforeDir="false" afterPath="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
@@ -32,8 +29,11 @@
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="424">
<caret line="1366" column="5" selection-start-line="1366" selection-start-column="5" selection-end-line="1366" selection-end-column="5" />
<state relative-caret-position="372">
<caret line="372" lean-forward="true" selection-start-line="372" selection-end-line="372" />
<folding>
<element signature="e#1207#1689#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@@ -72,7 +72,7 @@
<file leaf-file-name="FontTestGDX.kt" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="429">
<state relative-caret-position="338">
<caret line="33" column="38" selection-start-line="33" selection-start-column="38" selection-end-line="33" selection-end-column="38" />
<folding>
<element signature="e#0#384#0" expanded="true" />
@@ -81,16 +81,23 @@
</provider>
</entry>
</file>
<file leaf-file-name="demo.PNG" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/demo.PNG">
<provider selected="true" editor-type-id="images" />
</entry>
</file>
<file leaf-file-name="GameFontBase.kt" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="533">
<caret line="678" column="28" selection-start-line="678" selection-start-column="28" selection-end-line="678" selection-end-column="28" />
<state relative-caret-position="421">
<caret line="90" column="332" selection-start-line="90" selection-start-column="332" selection-end-line="90" selection-end-column="332" />
<folding>
<element signature="e#1207#1689#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="PixmapRegionPack.kt" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="624">
<caret line="72" column="25" selection-start-line="72" selection-start-column="25" selection-end-line="72" selection-end-column="25" />
</state>
</provider>
</entry>
@@ -107,8 +114,8 @@
<file leaf-file-name="demotext.txt" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/demotext.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="416">
<caret line="44" column="15" selection-start-line="44" selection-start-column="15" selection-end-line="44" selection-end-column="15" />
<state relative-caret-position="1014">
<caret line="78" column="53" selection-start-line="78" selection-start-column="53" selection-end-line="78" selection-end-column="53" />
</state>
</provider>
</entry>
@@ -117,7 +124,7 @@
<entry file="file://$PROJECT_DIR$/CONTRIBUTING.md">
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
<state split_layout="FIRST">
<first_editor relative-caret-position="611">
<first_editor relative-caret-position="1235">
<caret line="95" column="30" selection-start-line="95" selection-start-column="30" selection-end-line="95" selection-end-column="30" />
</first_editor>
<second_editor>
@@ -158,47 +165,50 @@
<option name="RECENT_TEMPLATES">
<list>
<option value="Kotlin Class" />
<option value="Interface" />
<option value="Class" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>ArrayList&lt;Int&gt;</find>
<find>appConfig.height</find>
<find>textBuffer</find>
<find />
<find>lowercase</find>
<find>SHEET_DIACRITICAL_MARKS</find>
<find>[()]</find>
<find>demo.PNG</find>
<find>joiner</find>
<find>va-</find>
<find>'</find>
<find>FFFF</find>
<find>FFFF8</find>
<find>pro</find>
<find>system</find>
<find>posXbuffer</find>
<find>U+</find>
<find>variable</find>
<find>TextureRe</find>
<find>xyswap</find>
<find>isXYSwapped</find>
<find>xySw</find>
<find>getWidth</find>
<find>getWidthOfCharSeq</find>
<find>makeShadow</find>
<find>fun draw</find>
<find>glyphWidthBuffer</find>
<find>oldCharSequence</find>
<find>charSeq.toCodeP</find>
<find>resetH</find>
<find>HashMap</find>
<find>drawPixmap</find>
<find>RGBA</find>
<find>makeShado</find>
<find>pixmapHolder</find>
<find>isColourCode</find>
<find>makeSha</find>
<find>toRGBA</find>
<find>posXbuff</find>
<find>buildWidthAndPos</find>
<find>flagMake</find>
<find>pixmapHolder?.dis</find>
<find>glyphProps[</find>
<find>textCache</find>
<find>glyphProps</find>
<find>(c: Int)</find>
<find>hashC</find>
<find>TreeNode</find>
<find>sear</find>
<find>fun draw</find>
<find>println</find>
</findStrings>
<replaceStrings>
<replace>.141</replace>
<replace>c</replace>
<replace>har</replace>
<replace>TEXH</replace>
<replace>(c: CodePoint)</replace>
</replaceStrings>
</component>
<component name="Git.Settings">
@@ -219,10 +229,14 @@
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/GlyphProps.kt" />
<option value="$PROJECT_DIR$/README.md" />
<option value="$PROJECT_DIR$/testtext.txt" />
<option value="$PROJECT_DIR$/demotext.txt" />
<option value="$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/TextureRegionPack.kt" />
<option value="$PROJECT_DIR$/CONTRIBUTING.md" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt" />
<option value="$PROJECT_DIR$/demotext.txt" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/AgedItem.java" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/RedBlackNode.java" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/RedBlackTree.java" />
<option value="$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt" />
</list>
</option>
@@ -238,7 +252,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
@@ -280,15 +293,16 @@
</subPane>
</pane>
<pane id="PackagesPane" />
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="SearchEverywhereHistoryKey" value="soft wr&#9;ACTION&#9;EditorToggleUseSoftWraps" />
<property name="SearchEverywhereHistoryKey" value="HashMap&#9;PSI&#9;JAVA://java.util.HashMap&#10;soft wr&#9;ACTION&#9;EditorToggleUseSoftWraps" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/lib/gdx.jar!/" />
<property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.32068965" />
<property name="settings.editor.selected.configurable" value="configurable.group.editor" />
<property name="settings.editor.selected.configurable" value="preferences.language.Kotlin" />
</component>
<component name="RecentsManager">
<key name="MoveFile.RECENT_KEYS">
@@ -504,54 +518,31 @@
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1216" extended-state="6" />
<editor active="true" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Messages" order="7" weight="0.20779221" />
<window_info anchor="right" id="Palette&#9;" order="3" />
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="right" id="Maven Projects" order="3" />
<window_info anchor="bottom" id="Messages" order="9" visible="true" weight="0.20779221" />
<window_info anchor="right" id="Palette&#9;" order="5" />
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
<window_info anchor="right" id="Maven Projects" order="4" />
<window_info anchor="bottom" id="Run" order="2" weight="0.2591522" />
<window_info anchor="bottom" id="Version Control" order="7" />
<window_info anchor="bottom" id="Version Control" order="8" />
<window_info anchor="bottom" id="Terminal" order="7" />
<window_info id="Designer" order="2" />
<window_info content_ui="combo" id="Project" order="0" weight="0.090618335" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.09008529" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32931355" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info id="UI Designer" order="2" />
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.2773655" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info id="UI Designer" order="4" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.24768089" />
<window_info id="Favorites" order="3" side_tool="true" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32931355" />
</layout>
<layout-to-restore>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
<window_info anchor="bottom" id="Run" order="2" weight="0.2591522" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.12633263" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info anchor="right" id="Commander" order="0" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info anchor="bottom" id="TODO" order="6" />
<window_info anchor="bottom" id="Version Control" order="9" />
<window_info anchor="bottom" id="Find" order="1" weight="0.32931355" />
<window_info id="Designer" order="2" />
<window_info id="UI Designer" order="3" />
<window_info active="true" anchor="bottom" id="Debug" order="3" visible="true" weight="0.2773655" />
<window_info anchor="right" id="Palette&#9;" order="4" />
<window_info anchor="bottom" id="Terminal" order="7" />
<window_info anchor="bottom" id="Event Log" order="8" side_tool="true" />
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
<window_info anchor="bottom" id="Message" order="0" />
<window_info anchor="bottom" id="Messages" order="10" weight="0.32745826" />
<window_info anchor="right" id="Maven Projects" order="5" />
<window_info id="Favorites" order="4" side_tool="true" />
</layout-to-restore>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
@@ -566,46 +557,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1638">
<caret line="134" column="40" selection-start-line="134" selection-start-column="40" selection-end-line="134" selection-end-column="40" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/demotext.txt">
<provider selected="true" editor-type-id="text-editor">
<state>
<caret selection-end-line="1" selection-end-column="43" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1495">
<caret line="145" column="17" selection-start-line="145" selection-start-column="17" selection-end-line="145" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/README.md">
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
<state split_layout="SECOND">
<first_editor relative-caret-position="143">
<caret line="11" column="153" selection-start-line="11" selection-start-column="153" selection-end-line="11" selection-end-column="153" />
</first_editor>
<second_editor>
<js_state />
</second_editor>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/slick2d/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="8905">
<caret line="749" column="35" selection-start-line="749" selection-start-column="35" selection-end-line="749" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="9594">
@@ -778,13 +729,7 @@
</state>
</provider>
</entry>
<entry file="jar://$KOTLIN_BUNDLED$/lib/kotlin-runtime-sources.jar!/kotlin/CharSequence.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="91">
<caret line="21" column="17" selection-start-line="21" selection-start-column="17" selection-end-line="21" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="jar://$KOTLIN_BUNDLED$/lib/kotlin-runtime-sources.jar!/kotlin/CharSequence.kt" />
<entry file="jar://$PROJECT_DIR$/lib/gdx.jar!/com/badlogic/gdx/graphics/glutils/GLFrameBuffer.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="2379">
@@ -859,34 +804,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testtext.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="117">
<caret line="9" column="91" selection-start-line="9" selection-start-column="91" selection-end-line="9" selection-end-column="91" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testing.PNG">
<provider selected="true" editor-type-id="images" />
</entry>
<entry file="file://$PROJECT_DIR$/demotext.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="416">
<caret line="44" column="15" selection-start-line="44" selection-start-column="15" selection-end-line="44" selection-end-column="15" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/TextureRegionPack.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="338">
<caret line="50" column="38" selection-start-line="50" selection-start-column="38" selection-end-line="50" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/CONTRIBUTING.md">
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
<state split_layout="FIRST">
<first_editor relative-caret-position="611">
<first_editor relative-caret-position="1235">
<caret line="95" column="30" selection-start-line="95" selection-start-column="30" selection-end-line="95" selection-end-column="30" />
</first_editor>
<second_editor>
@@ -899,10 +820,27 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="356">
<caret line="152" column="16" selection-start-line="152" selection-start-column="16" selection-end-line="152" selection-end-column="16" />
<folding>
<element signature="e#4947#4948#0" expanded="true" />
<element signature="e#4998#4999#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/TextureRegionPack.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="338">
<caret line="50" column="38" selection-start-line="50" selection-start-column="38" selection-end-line="50" selection-end-column="38" />
</state>
</provider>
</entry>
<entry file="jar://$PROJECT_DIR$/lib/gdx-backend-lwjgl.jar!/com/badlogic/gdx/backends/lwjgl/LwjglApplication.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="501">
<caret line="277" column="9" lean-forward="true" selection-start-line="277" selection-start-column="9" selection-end-line="277" selection-end-column="9" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/PixmapRegionPack.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="624">
<caret line="72" column="25" selection-start-line="72" selection-start-column="25" selection-end-line="72" selection-end-column="25" />
</state>
</provider>
</entry>
@@ -910,19 +848,19 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="356">
<caret line="118" column="15" selection-start-line="118" selection-start-column="15" selection-end-line="118" selection-end-column="15" />
<folding>
<element signature="e#3882#3883#0" expanded="true" />
<element signature="e#3931#3932#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/demo.PNG">
<provider selected="true" editor-type-id="images" />
<entry file="jar://$PROJECT_DIR$/lib/gdx.jar!/com/badlogic/gdx/graphics/Color.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="262">
<caret line="52" column="11" selection-start-line="52" selection-start-column="11" selection-end-line="52" selection-end-column="11" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/FontTestGDX/src/FontTestGDX.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="429">
<state relative-caret-position="338">
<caret line="33" column="38" selection-start-line="33" selection-start-column="38" selection-end-line="33" selection-end-column="38" />
<folding>
<element signature="e#0#384#0" expanded="true" />
@@ -930,10 +868,66 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/demotext.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1014">
<caret line="78" column="53" selection-start-line="78" selection-start-column="53" selection-end-line="78" selection-end-column="53" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testtext.txt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="117">
<caret line="9" column="91" selection-start-line="9" selection-start-column="91" selection-end-line="9" selection-end-column="91" />
</state>
</provider>
</entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_131/src.zip!/java/util/HashMap.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-5975">
<caret line="1798" column="23" selection-start-line="1798" selection-start-column="23" selection-end-line="1798" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/AgedItem.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="325">
<caret line="25" column="1" selection-start-line="25" selection-start-column="1" selection-end-line="25" selection-end-column="1" />
<folding>
<element signature="e#309#310#0" expanded="true" />
<element signature="e#335#336#0" expanded="true" />
<element signature="e#462#463#0" expanded="true" />
<element signature="e#486#487#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/RedBlackNode.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="351">
<caret line="27" column="14" selection-start-line="27" selection-start-column="14" selection-end-line="27" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/RedBlackTree.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-9212">
<caret line="69" column="67" selection-start-line="69" selection-start-column="67" selection-end-line="69" selection-end-column="67" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#22666#22667#0" expanded="true" />
<element signature="e#22707#22708#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/net/torvald/terrarumsansbitmap/gdx/GameFontBase.kt">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="533">
<caret line="678" column="28" selection-start-line="678" selection-start-column="28" selection-end-line="678" selection-end-column="28" />
<state relative-caret-position="372">
<caret line="372" lean-forward="true" selection-start-line="372" selection-end-line="372" />
<folding>
<element signature="e#1207#1689#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@@ -971,7 +965,7 @@
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.32068965" />
</list>
</option>
</splitter-proportions>
@@ -983,7 +977,7 @@
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.32068965" />
</list>
</option>
</splitter-proportions>
@@ -1004,7 +998,7 @@
</state>
<state key="ProjectLibrariesConfigurable.UI">
<settings>
<last-edited>TesterLib</last-edited>
<last-edited>GdxLib</last-edited>
<splitter-proportions>
<option name="proportions">
<list>

View File

@@ -1,6 +1,6 @@
Terrarum Sans Bitmap
Copyright (c) 2017-2018 Minjae Song (Torvald) and the contributors
Copyright (c) 2017-2019 Minjae Song (Torvald) and the contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

Binary file not shown.

BIN
demo.PNG

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

@@ -76,7 +76,7 @@ How multilingual? Real multilingual!
􏼀ᚱ􏼐ᛂ􏼠ᚴ􏼰ᛋ􏽀ᛂ􏽐ᛋ􏽠ᛏ􏽰ᛋ􏾀ᚮ􏾐ᚾ􏾠ᛔ􏾰ᚢ􏿀ᛏ􏿐ᛚ􏿠ᚮ􏿰ᛋ􏻰᛬􏷰ᚱ􏳰ᛂ􏯰ᚴ􏫰ᛋ􏧰ᛋ􏣰ᚢ􏟰ᚼ􏛰ᚾ􏗰ᚢ􏓰ᛘ􏏰ᚢ􏋰ᛚ􏇰ᚾ􏃰ᛏ􏃱ᚮ􏃲᛬􏃳ᛏ􏃴ᚮ􏃵ᛋ􏃶ᛁ􏃷ᚮ􏃸ᚵ􏃹ᛂ􏃺ᚢ􏃻ᛏ􏃼ᚮ􏃽ᚱ􏃾ᛘ􏃿ᛔ􏃯ᚱ􏃟ᛂ􏃏ᚴ􏂿ᛋ􏂯ᛏ􏂟᛭􏂏ᛋ􏁿ᚢ􏁯ᚼ􏁟ᚾ􏁏ᚢ􏀿ᛋ􏀯ᛘ􏀟ᚮ􏀏ᛁ􏄏ᚵ􏈏ᚾ􏌏ᛁ􏐏ᛂ􏔏ᛏ􏘏ᚮ􏜏ᛑ􏠏᛭􏤏ᚵ􏨏ᛂ􏬏ᚢ􏰏ᛏ􏴏ᚮ􏸏ᚱ􀀀
􎳌Colour-code that supports 65535 opaque or semi-transparent colours via 4 bit ARGB􀀀
􎳌Colour-code that supports 4096 colours via 4 bit RGB􀀀
􏿿󿿁Щиглецът се яде само пържен в юфка без чушки и хвойна󿿀 (Bulgarian)􀀀
􏿿󿿂Љубазни фењерџија чађавог лица хоће да ми покаже штос󿿀 (Serbian)􀀀

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,167 @@
/*
* Terrarum Sans Bitmap
*
* Copyright (c) 2018 Minjae Song (Torvald)
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package net.torvald.terrarumsansbitmap.gdx
import com.badlogic.gdx.files.FileHandle
import com.badlogic.gdx.graphics.Color
import com.badlogic.gdx.graphics.Pixmap
/**
* Created by minjaesong on 2018-09-17.
*/
class PixmapRegionPack(
pixmap: Pixmap,
val tileW: Int,
val tileH: Int,
val hGap: Int = 0,
val vGap: Int = 0,
val hFrame: Int = 0,
val vFrame: Int = 0,
val xySwapped: Boolean = false // because Unicode chart does, duh
) {
//constructor(ref: String, tileW: Int, tileH: Int, hGap: Int = 0, vGap: Int = 0, hFrame: Int = 0, vFrame: Int = 0, xySwapped: Boolean = false) :
// this(Pixmap(ref), tileW, tileH, hGap, vGap, hFrame, vFrame, xySwapped)
constructor(fileHandle: FileHandle, tileW: Int, tileH: Int, hGap: Int = 0, vGap: Int = 0, hFrame: Int = 0, vFrame: Int = 0, xySwapped: Boolean = false) :
this(Pixmap(fileHandle), tileW, tileH, hGap, vGap, hFrame, vFrame, xySwapped)
val horizontalCount = (pixmap.width - 2 * hFrame + hGap) / (tileW + hGap)
val verticalCount = (pixmap.height - 2 * vFrame + vGap) / (tileH + vGap)
val regions: Array<Pixmap>
init {
// test print the whole sheet
/*pixmap.pixels.rewind()
for (y in 0 until pixmap.height) {
for (x in 0 until pixmap.width) {
pixmap.pixels.get() // discard r
pixmap.pixels.get() // discard g
pixmap.pixels.get() // discard b
val a = pixmap.pixels.get()
if (a == 255.toByte()) print("█") else print("·")
}
println()
}
println()*/
pixmap.pixels.rewind()
if (!xySwapped) {
regions = Array<Pixmap>(horizontalCount * verticalCount, {
val rx = (it % horizontalCount * (tileW + hGap)) + hFrame // pixel, not index
val ry = (it / horizontalCount * (tileH + vGap)) + vFrame // pixel, not index
val region = Pixmap(tileW, tileH, Pixmap.Format.RGBA8888)
region.pixels.rewind()
// for every "scanline"
for (y in 0 until tileH) {
val offsetY = (ry + y) * (pixmap.width * 4) + (vFrame * pixmap.width * 4)
val offsetX = rx * 4 + hFrame * 4
//println("offset: ${offsetX + offsetY}")
val bytesBuffer = ByteArray(4 * tileW)
pixmap.pixels.position(offsetY + offsetX)
pixmap.pixels.get(bytesBuffer, 0, bytesBuffer.size)
// test print bytesbuffer
/*bytesBuffer.forEachIndexed { index, it ->
if (index % 4 == 3) {
if (it == 255.toByte()) print("█") else print("·")
}
}
println()*/
region.pixels.put(bytesBuffer)
}
//println()
// todo globalFlipY ?
/*return*/region
})
}
else {
regions = Array<Pixmap>(horizontalCount * verticalCount, {
val rx = (it / verticalCount * (tileW + hGap)) + hFrame
val ry = (it % verticalCount * (tileH + vGap)) + vFrame
val region = Pixmap(tileW, tileH, Pixmap.Format.RGBA8888)
region.pixels.rewind()
// for every "scanline"
for (y in 0 until tileH) {
val offsetY = (ry + y) * (pixmap.width * 4) + (vFrame * pixmap.width * 4)
val offsetX = rx * 4 + hFrame * 4
//println("offset: ${offsetX + offsetY}")
val bytesBuffer = ByteArray(4 * tileW)
pixmap.pixels.position(offsetY + offsetX)
pixmap.pixels.get(bytesBuffer, 0, bytesBuffer.size)
// test print bytesbuffer
/*bytesBuffer.forEachIndexed { index, it ->
if (index % 4 == 3) {
if (it == 255.toByte()) print("█") else print("·")
}
}
println()*/
region.pixels.put(bytesBuffer)
}
//println()
// todo globalFlipY ?
/*return*/region
})
}
}
fun get(x: Int, y: Int) = regions[y * horizontalCount + x]
fun dispose() {
regions.forEach { it.dispose() }
}
}