Хуй, мяу, драгдроп для геев

This commit is contained in:
Igor Timofeev 2017-06-11 14:46:04 +03:00
parent 725ae14229
commit 612e9eaacd
22 changed files with 239 additions and 93 deletions

View File

@ -79,18 +79,16 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1905">
<caret line="131" column="45" lean-forward="false" selection-start-line="131" selection-start-column="39" selection-end-line="131" selection-end-column="45" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Image.java" pinned="false" current-in-tab="true">
<file leaf-file-name="Image.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/sample/Image.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="381">
<caret line="227" column="9" lean-forward="true" selection-start-line="227" selection-start-column="9" selection-end-line="227" selection-end-column="9" />
<state relative-caret-position="3375">
<caret line="226" column="14" lean-forward="false" selection-start-line="226" selection-start-column="14" selection-end-line="226" selection-end-column="14" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -108,18 +106,32 @@
</provider>
</entry>
</file>
<file leaf-file-name="Main.java" pinned="false" current-in-tab="false">
<file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/sample/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="510">
<caret line="49" column="9" lean-forward="false" selection-start-line="49" selection-start-column="9" selection-end-line="49" selection-end-column="9" />
<state relative-caret-position="245">
<caret line="118" column="36" lean-forward="true" selection-start-line="118" selection-start-column="36" selection-end-line="118" selection-end-column="36" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="EventHandlerManager.java" pinned="false" current-in-tab="false">
<entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/javafx-src.zip!/com/sun/javafx/event/EventHandlerManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="3105">
<caret line="237" column="0" lean-forward="false" selection-start-line="237" selection-start-column="0" selection-end-line="237" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
@ -132,6 +144,8 @@
<component name="FindInProjectRecents">
<findStrings>
<find>ImageConverter</find>
<find>jg</find>
<find>vagina</find>
</findStrings>
<replaceStrings>
<replace>sample</replace>
@ -154,9 +168,9 @@
<option value="$PROJECT_DIR$/src/sample/Pixel.java" />
<option value="$PROJECT_DIR$/src/sample/Palette.java" />
<option value="$PROJECT_DIR$/src/sample/ImageConverter.fxml" />
<option value="$PROJECT_DIR$/src/sample/Main.java" />
<option value="$PROJECT_DIR$/src/sample/OCIF.java" />
<option value="$PROJECT_DIR$/src/sample/Image.java" />
<option value="$PROJECT_DIR$/src/sample/Main.java" />
</list>
</option>
</component>
@ -164,7 +178,7 @@
<component name="ProjectFrameBounds">
<option name="y" value="23" />
<option name="width" value="1920" />
<option name="height" value="979" />
<option name="height" value="976" />
</component>
<component name="ProjectReloadState">
<option name="STATE" value="0" />
@ -185,6 +199,7 @@
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -231,7 +246,6 @@
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
</panes>
</component>
@ -518,24 +532,25 @@
<option name="totallyTimeSpent" value="1302000" />
</component>
<component name="ToolWindowManager">
<frame x="0" y="23" width="1920" height="979" extended-state="6" />
<frame x="0" y="23" width="1920" height="976" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3296582" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28979144" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.28886437" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.209375" sideWeight="0.6703755" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2109375" sideWeight="0.6703755" order="0" side_tool="false" content_ui="combo" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@ -550,7 +565,6 @@
<window_info id="Profiler" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="JetGradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Problems" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
@ -565,7 +579,9 @@
<option name="INCLUDE_TEXT_INTO_SHELF" value="false" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<breakpoint-manager>
<option name="time" value="8" />
</breakpoint-manager>
<watches-manager />
</component>
<component name="antWorkspaceConfiguration">
@ -573,16 +589,6 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/src/sample/OCIF.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1995">
<caret line="137" column="1" lean-forward="false" selection-start-line="137" selection-start-column="1" selection-end-line="137" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Color.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
@ -602,15 +608,15 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/ImageConverter.fxml">
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="31" lean-forward="false" selection-start-line="7" selection-start-column="31" selection-end-line="7" selection-end-column="31" />
<folding />
</state>
</provider>
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Main.java">
<provider selected="true" editor-type-id="text-editor">
@ -618,6 +624,10 @@
<caret line="49" column="9" lean-forward="false" selection-start-line="49" selection-start-column="9" selection-end-line="49" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
@ -642,9 +652,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1995">
<caret line="137" column="1" lean-forward="false" selection-start-line="137" selection-start-column="1" selection-end-line="137" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -657,15 +665,15 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/ImageConverter.fxml">
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="31" lean-forward="false" selection-start-line="7" selection-start-column="31" selection-end-line="7" selection-end-column="31" />
<folding />
</state>
</provider>
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Image.java">
<provider selected="true" editor-type-id="text-editor">
@ -683,6 +691,10 @@
<caret line="143" column="46" lean-forward="false" selection-start-line="143" selection-start-column="46" selection-end-line="143" selection-end-column="46" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
@ -707,9 +719,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1635">
<caret line="113" column="14" lean-forward="false" selection-start-line="113" selection-start-column="14" selection-end-line="113" selection-end-column="14" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -722,15 +732,15 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/ImageConverter.fxml">
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="31" lean-forward="false" selection-start-line="7" selection-start-column="31" selection-end-line="7" selection-end-column="31" />
<folding />
</state>
</provider>
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Image.java">
<provider selected="true" editor-type-id="text-editor">
@ -748,6 +758,10 @@
<caret line="143" column="46" lean-forward="false" selection-start-line="143" selection-start-column="46" selection-end-line="143" selection-end-column="46" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
@ -772,9 +786,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1635">
<caret line="113" column="14" lean-forward="false" selection-start-line="113" selection-start-column="14" selection-end-line="113" selection-end-column="14" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -787,15 +799,15 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/ImageConverter.fxml">
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="31" lean-forward="false" selection-start-line="7" selection-start-column="31" selection-end-line="7" selection-end-column="31" />
<folding />
</state>
</provider>
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Image.java">
<provider selected="true" editor-type-id="text-editor">
@ -813,6 +825,10 @@
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
@ -837,9 +853,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1875">
<caret line="129" column="28" lean-forward="true" selection-start-line="129" selection-start-column="28" selection-end-line="129" selection-end-column="28" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -862,15 +876,15 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/ImageConverter.fxml">
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="31" lean-forward="false" selection-start-line="7" selection-start-column="31" selection-end-line="7" selection-end-column="31" />
<folding />
</state>
</provider>
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Main.java">
<provider selected="true" editor-type-id="text-editor">
@ -878,6 +892,10 @@
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
@ -902,9 +920,7 @@
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="150">
<caret line="10" column="47" lean-forward="false" selection-start-line="10" selection-start-column="24" selection-end-line="10" selection-end-column="47" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -932,6 +948,10 @@
<caret line="8" column="0" lean-forward="false" selection-start-line="8" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
@ -950,15 +970,15 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/ImageConverter.fxml">
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="105">
<caret line="7" column="31" lean-forward="false" selection-start-line="7" selection-start-column="31" selection-end-line="7" selection-end-column="31" />
<folding />
</state>
</provider>
<provider editor-type-id="JavaFX-Scene-Builder">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Pixel.java">
<provider selected="true" editor-type-id="text-editor">
@ -976,36 +996,46 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="510">
<caret line="49" column="9" lean-forward="false" selection-start-line="49" selection-start-column="9" selection-end-line="49" selection-end-column="9" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/OCIF.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1905">
<caret line="131" column="45" lean-forward="false" selection-start-line="131" selection-start-column="39" selection-end-line="131" selection-end-column="45" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Image.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="381">
<caret line="227" column="9" lean-forward="true" selection-start-line="227" selection-start-column="9" selection-end-line="227" selection-end-column="9" />
<state relative-caret-position="3375">
<caret line="226" column="14" lean-forward="false" selection-start-line="226" selection-start-column="14" selection-end-line="226" selection-end-column="14" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/javafx-src.zip!/com/sun/javafx/event/EventHandlerManager.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="3105">
<caret line="237" column="0" lean-forward="false" selection-start-line="237" selection-start-column="0" selection-end-line="237" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/sample/Main.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="245">
<caret line="118" column="36" lean-forward="true" selection-start-line="118" selection-start-column="36" selection-end-line="118" selection-end-column="36" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2321#2767#0" expanded="true" />
<element signature="e#2766#2767#0" expanded="true" />
<element signature="e#3022#3411#0" expanded="true" />
<element signature="e#3410#3411#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>

View File

@ -13,10 +13,39 @@
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="489.0" prefWidth="840.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Main">
<children>
<ImageView fx:id="imageView" fitHeight="498.0" fitWidth="840.0" pickOnBounds="true">
<ImageView fx:id="imageView1" fitWidth="840.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@Resources/Background.png" />
</image></ImageView>
<Image url="@Resources/Cells.png" />
</image>
</ImageView>
<GridPane fx:id="gridPane" alignment="CENTER" prefHeight="489.0" prefWidth="840.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="1.7976931348623157E308" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<ImageView fx:id="imageView" fitWidth="840.0" nodeOrientation="INHERIT" pickOnBounds="true" preserveRatio="true" GridPane.halignment="CENTER" GridPane.valignment="CENTER">
<image>
<Image url="@Resources/Background.jpg" />
</image>
<effect>
<DropShadow color="#000000ab" height="63.5" radius="23.66" width="33.14" />
</effect>
</ImageView>
</children>
</GridPane>
<Pane fx:id="dragDropPane" opacity="0.0" prefHeight="489.0" prefWidth="840.0">
<children>
<Rectangle fx:id="dragFilesRectangle" fill="#000000d0" height="489.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="594.0" />
<ImageView fx:id="dragFilesImageView" fitHeight="180.0" fitWidth="180.0" layoutX="240.0" layoutY="155.0" pickOnBounds="true">
<image>
<Image url="@Resources/Files.png" />
</image>
</ImageView>
</children>
</Pane>
<Rectangle fill="#000000d0" height="489.0" layoutX="594.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="246.0" />
<Button fx:id="openButton" layoutX="594.0" layoutY="69.0" mnemonicParsing="false" onMouseClicked="#open" prefHeight="38.0" prefWidth="246.0" styleClass="defaultButton" stylesheets="@Styles/button.css" text="Открыть">
<font>

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -224,7 +224,7 @@ public class Image {
groupedImage.get(alpha).get(symbol).put(
background,
filledHashMap.get(alpha).get(symbol).get(background)
)
);
}
if (!groupedImage.get(alpha).get(symbol).get(background).containsKey(foreground)) {

View File

@ -13,10 +13,39 @@
<Pane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="489.0" prefWidth="840.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="sample.Main">
<children>
<ImageView fx:id="imageView" fitHeight="498.0" fitWidth="840.0" pickOnBounds="true">
<ImageView fx:id="imageView1" fitWidth="840.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@Resources/Background.png" />
</image></ImageView>
<Image url="@Resources/Cells.png" />
</image>
</ImageView>
<GridPane fx:id="gridPane" alignment="CENTER" prefHeight="489.0" prefWidth="840.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="1.7976931348623157E308" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<ImageView fx:id="imageView" fitWidth="840.0" nodeOrientation="INHERIT" pickOnBounds="true" preserveRatio="true" GridPane.halignment="CENTER" GridPane.valignment="CENTER">
<image>
<Image url="@Resources/Background.jpg" />
</image>
<effect>
<DropShadow color="#000000ab" height="63.5" radius="23.66" width="33.14" />
</effect>
</ImageView>
</children>
</GridPane>
<Pane fx:id="dragDropPane" opacity="0.0" prefHeight="489.0" prefWidth="840.0">
<children>
<Rectangle fx:id="dragFilesRectangle" fill="#000000d0" height="489.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="594.0" />
<ImageView fx:id="dragFilesImageView" fitHeight="180.0" fitWidth="180.0" layoutX="240.0" layoutY="155.0" pickOnBounds="true">
<image>
<Image url="@Resources/Files.png" />
</image>
</ImageView>
</children>
</Pane>
<Rectangle fill="#000000d0" height="489.0" layoutX="594.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" width="246.0" />
<Button fx:id="openButton" layoutX="594.0" layoutY="69.0" mnemonicParsing="false" onMouseClicked="#open" prefHeight="38.0" prefWidth="246.0" styleClass="defaultButton" stylesheets="@Styles/button.css" text="Открыть">
<font>

View File

@ -1,5 +1,8 @@
package sample;
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Insets;
@ -8,10 +11,15 @@ import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.ImageView;
import javafx.scene.input.Dragboard;
import javafx.scene.input.TransferMode;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.scene.text.Text;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.util.Callback;
import javafx.util.Duration;
import java.io.File;
import java.io.IOException;
@ -32,15 +40,35 @@ public class Main extends Application {
public Slider ditheringSlider;
public ComboBox<String> encodingMethodComboBox;
public String currentImagePath = "sample/Resources/Background.png";
public Pane dragDropPane;
public GridPane gridPane;
@Override
public void start(Stage primaryStage) throws Exception {
root = FXMLLoader.load(getClass().getResource("ImageConverter.fxml"));
primaryStage.setResizable(false);
primaryStage.setScene(new Scene(root));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
private void playAnimation(boolean start)
{
Timeline timeline = new Timeline();
timeline.getKeyFrames().addAll(
new KeyFrame(
new Duration(0),
new KeyValue(dragDropPane.opacityProperty(), start ? 0.0 : 1.0)
),
new KeyFrame(
new Duration(250),
new KeyValue(dragDropPane.opacityProperty(), start ? 1.0 : 0.0)
)
);
timeline.play();
}
public void initialize() {
// Пидорасим текст по центру комбобокса
encodingMethodComboBox.setButtonCell(new ListCell<String>() {
@ -55,6 +83,7 @@ public class Main extends Application {
}
}
});
// А это уже в выпадающем списке
encodingMethodComboBox.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
@Override
@ -71,6 +100,26 @@ public class Main extends Application {
};
}
});
//Ебучий драг-дроп
dragDropPane.setOnDragEntered(event -> {
if (event.getDragboard().hasFiles()) {
playAnimation(true);
event.acceptTransferModes(TransferMode.COPY);
}
});
dragDropPane.setOnDragExited(event -> {
playAnimation(false);
Dragboard dragboard = event.getDragboard();
if (dragboard.hasFiles()) {
File file = new File(dragboard.getFiles().get(0).getAbsolutePath());
if (file.getAbsolutePath().matches("^.+\\.(png)?(jpg)?(jpeg)?$")) {
loadImage(file);
}
}
});
}
public static void main(String[] args) {
@ -100,18 +149,27 @@ public class Main extends Application {
}
public void loadImage(File file) {
if (file.exists() && !file.isDirectory()) {
if (!file.isDirectory()) {
currentImagePath = "file:" + file.getPath();
//Вся вот эта хуета нужна для отображения пикчи по размеру экранчика
imageView.setPreserveRatio(false);
javafx.scene.image.Image imageViewImage = new javafx.scene.image.Image(currentImagePath);
double imageProportion = imageViewImage.getWidth() / imageViewImage.getHeight();
double newWidth = imageView.getScene().getWindow().getWidth();
double newHeight = newWidth / imageProportion;
imageView.setFitWidth(newWidth);
imageView.setFitHeight(newHeight);
imageView.setImage(imageViewImage);
javafx.scene.image.Image image = new javafx.scene.image.Image(currentImagePath);
imageView.setImage(image);
if (image.getWidth() >= image.getHeight()) {
if (image.getWidth() <= gridPane.getWidth()) {
imageView.setFitWidth(image.getWidth());
} else {
imageView.setFitWidth(gridPane.getWidth());
}
} else {
double proportion = image.getWidth() / image.getHeight();
if (image.getHeight() <= gridPane.getHeight()) {
imageView.setFitWidth(image.getHeight() * proportion);
} else {
imageView.setFitWidth(gridPane.getWidth() * proportion);
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

View File

Before

Width:  |  Height:  |  Size: 356 KiB

After

Width:  |  Height:  |  Size: 356 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.