• R/O
  • SSH
  • HTTPS

gokigen: Commit


Commit MetaInfo

Revision302 (tree)
Time2017-01-15 23:36:16
Authormrsa

Log Message

ピクチャーインピクチャー実装(途中)。

Change Summary

Incremental Difference

--- android/AirA01b/trunk/.idea/workspace.xml (revision 301)
+++ android/AirA01b/trunk/.idea/workspace.xml (revision 302)
@@ -26,22 +26,21 @@
2626 </layouts>
2727 </component>
2828 <component name="AndroidLogFilters">
29- <option name="TOOL_WINDOW_CUSTOM_FILTER" value="onTouch" />
29+ <option name="TOOL_WINDOW_CUSTOM_FILTER" value="aira01b" />
3030 <option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" />
3131 <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="No Filters" />
3232 </component>
3333 <component name="ChangeListManager">
3434 <list default="true" readonly="true" id="754c9e42-e168-4355-a96f-5b6d4290fd93" name="Default" comment="">
35- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/build/generated/mockable-android-25.jar" afterPath="$PROJECT_DIR$/build/generated/mockable-android-25.jar" />
36- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/openCVLibrary320/build/outputs/aar/openCVLibrary320-debug.aar" afterPath="$PROJECT_DIR$/openCVLibrary320/build/outputs/aar/openCVLibrary320-debug.aar" />
3735 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
38- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/app.iml" afterPath="$PROJECT_DIR$/app/app.iml" />
3936 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java" afterPath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java" />
4037 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java" afterPath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java" />
38+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java" afterPath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java" />
4139 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java" afterPath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java" />
4240 <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java" afterPath="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java" />
43- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/openCVLibrary320/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/openCVLibrary320/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" />
44- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/openCVLibrary320/build/intermediates/incremental/packageDebugResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/openCVLibrary320/build/intermediates/incremental/packageDebugResources/compile-file-map.properties" />
41+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml" afterPath="$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml" />
42+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/values-ja/strings.xml" afterPath="$PROJECT_DIR$/app/src/main/res/values-ja/strings.xml" />
43+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" />
4544 </list>
4645 <ignored path="AirA01b.iws" />
4746 <ignored path=".idea/workspace.xml" />
@@ -73,94 +72,7 @@
7372 <favorites_list name="AirA01b" />
7473 </component>
7574 <component name="FileEditorManager">
76- <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
77- <file leaf-file-name="EffectImageProcessor.java" pinned="false" current-in-tab="true">
78- <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java">
79- <provider selected="true" editor-type-id="text-editor">
80- <state relative-caret-position="8466">
81- <caret line="501" column="26" selection-start-line="501" selection-start-column="26" selection-end-line="501" selection-end-column="26" />
82- <folding>
83- <element signature="imports" expanded="true" />
84- <element signature="e#3103#3162#0" expanded="true" />
85- <element signature="e#3284#3789#0" expanded="true" />
86- <element signature="e#3788#3789#0" expanded="true" />
87- <element signature="e#4130#4168#0" expanded="true" />
88- <element signature="e#4317#4547#0" expanded="true" />
89- <element signature="e#4546#4547#0" expanded="true" />
90- <element signature="e#5097#5136#0" expanded="true" />
91- <element signature="e#5450#5712#0" expanded="true" />
92- <element signature="e#5711#5712#0" expanded="true" />
93- <element signature="e#7452#7721#0" expanded="true" />
94- <element signature="e#7720#7721#0" expanded="true" />
95- <element signature="e#7806#8094#0" expanded="true" />
96- <element signature="e#7976#8025#0" expanded="true" />
97- <element signature="e#8093#8094#0" expanded="true" />
98- <element signature="e#8286#8546#0" expanded="true" />
99- <element signature="e#8436#8485#0" expanded="true" />
100- <element signature="e#8545#8546#0" expanded="true" />
101- <element signature="e#8826#9096#0" expanded="true" />
102- <element signature="e#8976#9035#0" expanded="true" />
103- <element signature="e#9095#9096#0" expanded="true" />
104- <element signature="e#9418#9678#0" expanded="true" />
105- <element signature="e#9568#9617#0" expanded="true" />
106- <element signature="e#9677#9678#0" expanded="true" />
107- <element signature="e#10028#10063#0" expanded="true" />
108- <element signature="e#11571#11887#0" expanded="true" />
109- <element signature="e#11721#11775#0" expanded="true" />
110- <element signature="e#11886#11887#0" expanded="true" />
111- <element signature="e#11977#12260#0" expanded="true" />
112- <element signature="e#12107#12161#0" expanded="true" />
113- <element signature="e#12259#12260#0" expanded="true" />
114- <element signature="e#14662#14916#0" expanded="true" />
115- <element signature="e#14812#14855#0" expanded="true" />
116- <element signature="e#14915#14916#0" expanded="true" />
117- <element signature="e#15090#15118#0" expanded="true" />
118- <element signature="e#15165#15200#0" expanded="true" />
119- <element signature="e#17234#17235#0" expanded="true" />
120- <element signature="e#17261#17262#0" expanded="true" />
121- <element signature="e#17393#17394#0" expanded="true" />
122- <element signature="e#17420#17421#0" expanded="true" />
123- </folding>
124- </state>
125- </provider>
126- </entry>
127- </file>
128- <file leaf-file-name="ImageManipulator.java" pinned="false" current-in-tab="false">
129- <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java">
130- <provider selected="true" editor-type-id="text-editor">
131- <state relative-caret-position="-1">
132- <caret line="652" column="6" selection-start-line="652" selection-start-column="6" selection-end-line="652" selection-end-column="6" />
133- <folding>
134- <marker date="1484402412669" expanded="false" signature="16729:16785" ph="&quot;Target image size is too large.&quot;" />
135- </folding>
136- </state>
137- </provider>
138- </entry>
139- </file>
140- <file leaf-file-name="ManipulateImageFragment.java" pinned="false" current-in-tab="false">
141- <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java">
142- <provider selected="true" editor-type-id="text-editor">
143- <state relative-caret-position="13">
144- <caret line="262" column="5" selection-start-line="262" selection-start-column="5" selection-end-line="262" selection-end-column="5" />
145- <folding />
146- </state>
147- </provider>
148- </entry>
149- </file>
150- <file leaf-file-name="fragment_manipulate_image_view.xml" pinned="false" current-in-tab="false">
151- <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml">
152- <provider editor-type-id="android-designer2">
153- <state />
154- </provider>
155- <provider selected="true" editor-type-id="text-editor">
156- <state relative-caret-position="3213">
157- <caret line="189" column="8" selection-start-line="189" selection-start-column="8" selection-end-line="189" selection-end-column="8" />
158- <folding />
159- </state>
160- </provider>
161- </entry>
162- </file>
163- </leaf>
75+ <leaf />
16476 </component>
16577 <component name="FileTemplateManagerImpl">
16678 <option name="RECENT_TEMPLATES">
@@ -2826,11 +2738,7 @@
28262738 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IEffectImageProcessingType.java" />
28272739 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/playback/ExifInformationDumper.java" />
28282740 <option value="$PROJECT_DIR$/app/src/main/res/xml/preferences.xml" />
2829- <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java" />
28302741 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/MainActivity.java" />
2831- <option value="$PROJECT_DIR$/app/src/main/res/values/strings.xml" />
2832- <option value="$PROJECT_DIR$/app/src/main/res/values-ja/strings.xml" />
2833- <option value="$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml" />
28342742 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/preference/ICameraPropertyAccessor.java" />
28352743 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/liveview/ILiveImageStatusNotify.java" />
28362744 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/liveview/CameraLiveImageView.java" />
@@ -2838,8 +2746,12 @@
28382746 <option value="$PROJECT_DIR$/app/src/main/res/values/arrays.xml" />
28392747 <option value="$PROJECT_DIR$/app/src/main/res/values-ja/arrays.xml" />
28402748 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulatorForPinP.java" />
2749+ <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java" />
2750+ <option value="$PROJECT_DIR$/app/src/main/res/values/strings.xml" />
2751+ <option value="$PROJECT_DIR$/app/src/main/res/values-ja/strings.xml" />
2752+ <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java" />
28412753 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java" />
2842- <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java" />
2754+ <option value="$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml" />
28432755 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java" />
28442756 <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java" />
28452757 </list>
@@ -2875,6 +2787,20 @@
28752787 <foldersAlwaysOnTop value="true" />
28762788 </navigator>
28772789 <panes>
2790+ <pane id="PackagesPane">
2791+ <subPane>
2792+ <PATH>
2793+ <PATH_ELEMENT>
2794+ <option name="myItemId" value="AirA01b" />
2795+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
2796+ </PATH_ELEMENT>
2797+ <PATH_ELEMENT>
2798+ <option name="myItemId" value="app" />
2799+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
2800+ </PATH_ELEMENT>
2801+ </PATH>
2802+ </subPane>
2803+ </pane>
28782804 <pane id="AndroidView">
28792805 <subPane>
28802806 <PATH>
@@ -2967,9 +2893,6 @@
29672893 </PATH>
29682894 </subPane>
29692895 </pane>
2970- <pane id="Scratches">
2971- <subPane />
2972- </pane>
29732896 <pane id="ProjectPane">
29742897 <subPane>
29752898 <PATH>
@@ -3254,6 +3177,9 @@
32543177 </PATH>
32553178 </subPane>
32563179 </pane>
3180+ <pane id="Scratches">
3181+ <subPane />
3182+ </pane>
32573183 <pane id="Scope">
32583184 <subPane subId="Project Files">
32593185 <PATH>
@@ -3274,20 +3200,6 @@
32743200 </PATH>
32753201 </subPane>
32763202 </pane>
3277- <pane id="PackagesPane">
3278- <subPane>
3279- <PATH>
3280- <PATH_ELEMENT>
3281- <option name="myItemId" value="AirA01b" />
3282- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
3283- </PATH_ELEMENT>
3284- <PATH_ELEMENT>
3285- <option name="myItemId" value="app" />
3286- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
3287- </PATH_ELEMENT>
3288- </PATH>
3289- </subPane>
3290- </pane>
32913203 </panes>
32923204 </component>
32933205 <component name="PropertiesComponent">
@@ -3740,13 +3652,6 @@
37403652 <option name="presentableId" value="Default" />
37413653 <updated>1469871562549</updated>
37423654 </task>
3743- <task id="LOCAL-00047" summary="カメラのオートフォーカスが失敗した時にアプリが終了する不具合を修正する。">
3744- <created>1473931695374</created>
3745- <option name="number" value="00047" />
3746- <option name="presentableId" value="LOCAL-00047" />
3747- <option name="project" value="LOCAL" />
3748- <updated>1473931695375</updated>
3749- </task>
37503655 <task id="LOCAL-00048" summary="スプラッシュスクリーン調整。">
37513656 <created>1473939533569</created>
37523657 <option name="number" value="00048" />
@@ -4083,7 +3988,14 @@
40833988 <option name="project" value="LOCAL" />
40843989 <updated>1484236137857</updated>
40853990 </task>
4086- <option name="localTasksCounter" value="96" />
3991+ <task id="LOCAL-00096" summary="ピクチャーインピクチャー実装(途中)。">
3992+ <created>1484407334207</created>
3993+ <option name="number" value="00096" />
3994+ <option name="presentableId" value="LOCAL-00096" />
3995+ <option name="project" value="LOCAL" />
3996+ <updated>1484407334208</updated>
3997+ </task>
3998+ <option name="localTasksCounter" value="97" />
40873999 <servers />
40884000 </component>
40894001 <component name="TodoView">
@@ -4099,30 +4011,32 @@
40994011 <frame x="54" y="0" width="1313" height="769" extended-state="0" />
41004012 <editor active="false" />
41014013 <layout>
4014+ <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="1" side_tool="false" content_ui="tabs" />
4015+ <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.42594075" sideWeight="0.5064516" order="5" side_tool="true" content_ui="tabs" />
4016+ <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.7693548" sideWeight="0.52522016" order="7" side_tool="true" content_ui="tabs" />
4017+ <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.58842975" sideWeight="0.4747798" order="8" side_tool="false" content_ui="tabs" />
4018+ <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="0" side_tool="false" content_ui="tabs" />
4019+ <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="6" side_tool="false" content_ui="tabs" />
4020+ <window_info id="Designer" 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="5" side_tool="false" content_ui="tabs" />
4021+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24979983" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
4022+ <window_info id="Android Model" 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="9" side_tool="true" content_ui="tabs" />
4023+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.72096777" sideWeight="0.4923939" order="3" side_tool="false" content_ui="tabs" />
41024024 <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32903227" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
4103- <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="1" side_tool="false" content_ui="tabs" />
41044025 <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.46129033" sideWeight="0.4923939" order="12" side_tool="false" content_ui="tabs" />
4105- <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.42594075" sideWeight="0.5064516" order="5" side_tool="true" content_ui="tabs" />
41064026 <window_info id="Palette&#9;" 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="8" side_tool="false" content_ui="tabs" />
41074027 <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="0" side_tool="false" content_ui="tabs" />
41084028 <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="8" side_tool="false" content_ui="tabs" />
4109- <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.7693548" sideWeight="0.52522016" order="7" side_tool="true" content_ui="tabs" />
4110- <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.58842975" sideWeight="0.4747798" order="8" side_tool="false" content_ui="tabs" />
4029+ <window_info id="Preview" 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="7" side_tool="false" content_ui="tabs" />
41114030 <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3289256" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
41124031 <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.7354839" sideWeight="0.4923939" order="2" side_tool="false" content_ui="tabs" />
4113- <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="0" side_tool="false" content_ui="tabs" />
41144032 <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32903227" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
41154033 <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24979983" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
4116- <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="6" side_tool="false" content_ui="tabs" />
41174034 <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32419354" sideWeight="0.5076061" order="11" side_tool="true" content_ui="tabs" />
4118- <window_info id="Designer" 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="5" side_tool="false" content_ui="tabs" />
41194035 <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2786229" sideWeight="0.4935484" order="2" side_tool="false" content_ui="tabs" />
4036+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.353719" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
41204037 <window_info id="Gradle" 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="6" side_tool="false" content_ui="tabs" />
4121- <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24979983" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
4122- <window_info id="Android Model" 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="9" side_tool="true" content_ui="tabs" />
41234038 <window_info id="Theme Preview" 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="1" side_tool="false" content_ui="tabs" />
41244039 <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.42594075" sideWeight="0.5064516" order="7" side_tool="true" content_ui="tabs" />
4125- <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.72096777" sideWeight="0.4923939" order="3" side_tool="false" content_ui="tabs" />
41264040 <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
41274041 <window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
41284042 <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@@ -4129,8 +4043,6 @@
41294043 <window_info id="Hierarchy" 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="4" side_tool="false" content_ui="combo" />
41304044 <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="3" side_tool="false" content_ui="tabs" />
41314045 <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" />
4132- <window_info id="Preview" 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="7" side_tool="false" content_ui="tabs" />
4133- <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.35436893" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
41344046 </layout>
41354047 </component>
41364048 <component name="Vcs.Log.UiProperties">
@@ -4145,7 +4057,6 @@
41454057 <option name="myLimit" value="2678400000" />
41464058 </component>
41474059 <component name="VcsManagerConfiguration">
4148- <MESSAGE value="V1.2.0リリース版。" />
41494060 <MESSAGE value="次バージョン準備。" />
41504061 <MESSAGE value="撮影情報のダイアログに「露出プログラム」を表示するようにしてみた。&#10;" />
41514062 <MESSAGE value="撮影情報のダイアログに「測光モード」を表示するようにしてみた。&#10;" />
@@ -4170,7 +4081,8 @@
41704081 <MESSAGE value="グリッドとフォーカスアシストを起動時に戻すようにした。&#10;" />
41714082 <MESSAGE value="画像結合時の位置を調整するようにした。&#10;" />
41724083 <MESSAGE value="とりあえずのピクチャーインピクチャー実装準備。" />
4173- <option name="LAST_COMMIT_MESSAGE" value="とりあえずのピクチャーインピクチャー実装準備。" />
4084+ <MESSAGE value="ピクチャーインピクチャー実装(途中)。" />
4085+ <option name="LAST_COMMIT_MESSAGE" value="ピクチャーインピクチャー実装(途中)。" />
41744086 </component>
41754087 <component name="XDebuggerManager">
41764088 <breakpoint-manager>
@@ -4397,22 +4309,6 @@
43974309 </state>
43984310 </provider>
43994311 </entry>
4400- <entry file="file://$PROJECT_DIR$/app/src/main/res/values-ja/strings.xml">
4401- <provider selected="true" editor-type-id="text-editor">
4402- <state relative-caret-position="279">
4403- <caret line="175" column="38" selection-start-line="175" selection-start-column="38" selection-end-line="175" selection-end-column="38" />
4404- <folding />
4405- </state>
4406- </provider>
4407- </entry>
4408- <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml">
4409- <provider selected="true" editor-type-id="text-editor">
4410- <state relative-caret-position="312">
4411- <caret line="177" column="34" selection-start-line="177" selection-start-column="18" selection-end-line="177" selection-end-column="34" />
4412- <folding />
4413- </state>
4414- </provider>
4415- </entry>
44164312 <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/MainActivity.java">
44174313 <provider selected="true" editor-type-id="text-editor">
44184314 <state relative-caret-position="136">
@@ -4502,37 +4398,57 @@
45024398 </provider>
45034399 </entry>
45044400 <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulatorForPinP.java" />
4505- <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java">
4401+ <entry file="file://$PROJECT_DIR$/app/build.gradle">
45064402 <provider selected="true" editor-type-id="text-editor">
4507- <state relative-caret-position="68">
4508- <caret line="4" column="10" selection-start-line="4" selection-start-column="10" selection-end-line="4" selection-end-column="10" />
4403+ <state relative-caret-position="357">
4404+ <caret line="21" column="14" selection-start-line="21" selection-start-column="14" selection-end-line="21" selection-end-column="14" />
45094405 <folding />
45104406 </state>
45114407 </provider>
45124408 </entry>
4409+ <entry file="file://C:/APL/Android/sdk/sources/android-25/android/graphics/Canvas.java">
4410+ <provider selected="true" editor-type-id="text-editor">
4411+ <state relative-caret-position="54">
4412+ <caret line="1403" column="0" selection-start-line="1403" selection-start-column="0" selection-end-line="1403" selection-end-column="0" />
4413+ <folding />
4414+ </state>
4415+ </provider>
4416+ </entry>
4417+ <entry file="file://$PROJECT_DIR$/app/src/main/res/values/strings.xml">
4418+ <provider selected="true" editor-type-id="text-editor">
4419+ <state relative-caret-position="2822">
4420+ <caret line="166" column="0" selection-start-line="166" selection-start-column="0" selection-end-line="166" selection-end-column="0" />
4421+ <folding />
4422+ </state>
4423+ </provider>
4424+ </entry>
45134425 <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml">
45144426 <provider editor-type-id="android-designer2">
45154427 <state />
45164428 </provider>
45174429 <provider selected="true" editor-type-id="text-editor">
4518- <state relative-caret-position="3213">
4519- <caret line="189" column="8" selection-start-line="189" selection-start-column="8" selection-end-line="189" selection-end-column="8" />
4520- <folding />
4430+ <state relative-caret-position="1145">
4431+ <caret line="264" column="37" selection-start-line="264" selection-start-column="37" selection-end-line="264" selection-end-column="37" />
4432+ <folding>
4433+ <element signature="e#7814#7841#0" expanded="true" />
4434+ <element signature="e#8188#8203#0" expanded="true" />
4435+ <element signature="e#8586#8612#0" expanded="true" />
4436+ </folding>
45214437 </state>
45224438 </provider>
45234439 </entry>
4524- <entry file="file://$PROJECT_DIR$/app/build.gradle">
4440+ <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java">
45254441 <provider selected="true" editor-type-id="text-editor">
4526- <state relative-caret-position="357">
4527- <caret line="21" column="14" selection-start-line="21" selection-start-column="14" selection-end-line="21" selection-end-column="14" />
4442+ <state relative-caret-position="204">
4443+ <caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
45284444 <folding />
45294445 </state>
45304446 </provider>
45314447 </entry>
4532- <entry file="file://C:/APL/Android/sdk/sources/android-25/android/graphics/Canvas.java">
4448+ <entry file="file://$PROJECT_DIR$/app/src/main/res/values-ja/strings.xml">
45334449 <provider selected="true" editor-type-id="text-editor">
4534- <state relative-caret-position="54">
4535- <caret line="1403" column="0" selection-start-line="1403" selection-start-column="0" selection-end-line="1403" selection-end-column="0" />
4450+ <state relative-caret-position="-9">
4451+ <caret line="161" column="0" selection-start-line="161" selection-start-column="0" selection-end-line="161" selection-end-column="0" />
45364452 <folding />
45374453 </state>
45384454 </provider>
@@ -4539,16 +4455,18 @@
45394455 </entry>
45404456 <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java">
45414457 <provider selected="true" editor-type-id="text-editor">
4542- <state relative-caret-position="102">
4543- <caret line="8" column="2" selection-start-line="8" selection-start-column="2" selection-end-line="8" selection-end-column="2" />
4544- <folding />
4458+ <state relative-caret-position="272">
4459+ <caret line="16" column="21" selection-start-line="16" selection-start-column="8" selection-end-line="16" selection-end-column="26" />
4460+ <folding>
4461+ <element signature="imports" expanded="true" />
4462+ </folding>
45454463 </state>
45464464 </provider>
45474465 </entry>
45484466 <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java">
45494467 <provider selected="true" editor-type-id="text-editor">
4550- <state relative-caret-position="13">
4551- <caret line="262" column="5" selection-start-line="262" selection-start-column="5" selection-end-line="262" selection-end-column="5" />
4468+ <state relative-caret-position="153">
4469+ <caret line="28" column="87" selection-start-line="28" selection-start-column="65" selection-end-line="28" selection-end-column="87" />
45524470 <folding />
45534471 </state>
45544472 </provider>
@@ -4555,10 +4473,10 @@
45554473 </entry>
45564474 <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java">
45574475 <provider selected="true" editor-type-id="text-editor">
4558- <state relative-caret-position="-1">
4559- <caret line="652" column="6" selection-start-line="652" selection-start-column="6" selection-end-line="652" selection-end-column="6" />
4476+ <state relative-caret-position="2465">
4477+ <caret line="208" column="38" selection-start-line="208" selection-start-column="18" selection-end-line="208" selection-end-column="38" />
45604478 <folding>
4561- <marker date="1484402412669" expanded="false" signature="16729:16785" ph="&quot;Target image size is too large.&quot;" />
4479+ <marker date="1484488156830" expanded="false" signature="16730:16786" ph="&quot;Target image size is too large.&quot;" />
45624480 </folding>
45634481 </state>
45644482 </provider>
@@ -4565,50 +4483,9 @@
45654483 </entry>
45664484 <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java">
45674485 <provider selected="true" editor-type-id="text-editor">
4568- <state relative-caret-position="8466">
4569- <caret line="501" column="26" selection-start-line="501" selection-start-column="26" selection-end-line="501" selection-end-column="26" />
4570- <folding>
4571- <element signature="imports" expanded="true" />
4572- <element signature="e#3103#3162#0" expanded="true" />
4573- <element signature="e#3284#3789#0" expanded="true" />
4574- <element signature="e#3788#3789#0" expanded="true" />
4575- <element signature="e#4130#4168#0" expanded="true" />
4576- <element signature="e#4317#4547#0" expanded="true" />
4577- <element signature="e#4546#4547#0" expanded="true" />
4578- <element signature="e#5097#5136#0" expanded="true" />
4579- <element signature="e#5450#5712#0" expanded="true" />
4580- <element signature="e#5711#5712#0" expanded="true" />
4581- <element signature="e#7452#7721#0" expanded="true" />
4582- <element signature="e#7720#7721#0" expanded="true" />
4583- <element signature="e#7806#8094#0" expanded="true" />
4584- <element signature="e#7976#8025#0" expanded="true" />
4585- <element signature="e#8093#8094#0" expanded="true" />
4586- <element signature="e#8286#8546#0" expanded="true" />
4587- <element signature="e#8436#8485#0" expanded="true" />
4588- <element signature="e#8545#8546#0" expanded="true" />
4589- <element signature="e#8826#9096#0" expanded="true" />
4590- <element signature="e#8976#9035#0" expanded="true" />
4591- <element signature="e#9095#9096#0" expanded="true" />
4592- <element signature="e#9418#9678#0" expanded="true" />
4593- <element signature="e#9568#9617#0" expanded="true" />
4594- <element signature="e#9677#9678#0" expanded="true" />
4595- <element signature="e#10028#10063#0" expanded="true" />
4596- <element signature="e#11571#11887#0" expanded="true" />
4597- <element signature="e#11721#11775#0" expanded="true" />
4598- <element signature="e#11886#11887#0" expanded="true" />
4599- <element signature="e#11977#12260#0" expanded="true" />
4600- <element signature="e#12107#12161#0" expanded="true" />
4601- <element signature="e#12259#12260#0" expanded="true" />
4602- <element signature="e#14662#14916#0" expanded="true" />
4603- <element signature="e#14812#14855#0" expanded="true" />
4604- <element signature="e#14915#14916#0" expanded="true" />
4605- <element signature="e#15090#15118#0" expanded="true" />
4606- <element signature="e#15165#15200#0" expanded="true" />
4607- <element signature="e#17234#17235#0" expanded="true" />
4608- <element signature="e#17261#17262#0" expanded="true" />
4609- <element signature="e#17393#17394#0" expanded="true" />
4610- <element signature="e#17420#17421#0" expanded="true" />
4611- </folding>
4486+ <state relative-caret-position="442">
4487+ <caret line="161" column="0" selection-start-line="161" selection-start-column="0" selection-end-line="161" selection-end-column="0" />
4488+ <folding />
46124489 </state>
46134490 </provider>
46144491 </entry>
--- android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java (revision 301)
+++ android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java (revision 302)
@@ -14,9 +14,7 @@
1414 import android.support.v4.app.ShareCompat;
1515 import android.support.v7.app.AlertDialog;
1616 import android.util.Log;
17-import android.view.GestureDetector;
1817 import android.view.MotionEvent;
19-import android.view.ScaleGestureDetector;
2018 import android.view.View;
2119 import android.widget.ImageView;
2220 import android.widget.Toast;
@@ -35,7 +33,7 @@
3533 *
3634 *
3735 */
38-class EffectImageProcessor implements View.OnClickListener, View.OnTouchListener, ScaleGestureDetector.OnScaleGestureListener, GestureDetector.OnGestureListener
36+class EffectImageProcessor implements View.OnClickListener, View.OnTouchListener
3937 {
4038 private static final String TAG = EffectImageProcessor.class.getSimpleName();
4139
@@ -47,15 +45,13 @@
4745 private final Activity parent;
4846 private final IManipulateImageHolder imageHolder;
4947 private final IImageManipulatorOperator imageOperator;
50- private final ScaleGestureDetector scaleGestureDetector;
51- private final GestureDetector gestureDetector;
5248
5349 private int lastManipulateOperation = MANIPULATE_IMAGE_NONE;
5450 private String lastSavedFilePath = null;
5551
56- private float pipX = 0.01f;
57- private float pipY = 0.01f;
58- private float pipS = 0.2f;
52+ private float pipX = 0.015f;
53+ private float pipY = 0.015f;
54+ private float pipS = 0.3f;
5955
6056 /**
6157 * コンストラクタ
@@ -66,8 +62,6 @@
6662 this.parent = activity;
6763 this.imageHolder = imageHolder;
6864 this.imageOperator = imageOperator;
69- this.scaleGestureDetector = new ScaleGestureDetector(activity, this);
70- this.gestureDetector = new GestureDetector(activity, this);
7165 }
7266
7367 /**
@@ -94,6 +88,16 @@
9488 // 保存した画像の共有
9589 sharedSaveImage();
9690 break;
91+ case R.id.pinpMinusImageButton:
92+ // PinP時の画像縮小
93+ updatePinPOverlayScaleBitmap(false);
94+ selectEffectImageProcess(IImageManipulatorOperator.PICTURE_IN_PICTURE);
95+ break;
96+ case R.id.pinpPlusImageButton:
97+ // PinP時の画像拡大
98+ updatePinPOverlayScaleBitmap(true);
99+ selectEffectImageProcess(IImageManipulatorOperator.PICTURE_IN_PICTURE);
100+ break;
97101 }
98102 }
99103
@@ -136,6 +140,7 @@
136140 saveDialog.setIndeterminate(true);
137141 saveDialog.setCancelable(false);
138142 saveDialog.show();
143+ imageHolder.enablePlusMinusButton(false);
139144 Thread thread = new Thread(new Runnable() {
140145 public void run() {
141146 System.gc();
@@ -236,6 +241,7 @@
236241 public void run()
237242 {
238243 targetImageView.setImageBitmap(targetBitmap);
244+ imageHolder.enablePlusMinusButton((lastManipulateOperation == IImageManipulatorOperator.PICTURE_IN_PICTURE));
239245 System.gc();
240246 }
241247 });
@@ -248,6 +254,7 @@
248254 public void run()
249255 {
250256 Toast.makeText(parent, parent.getString(R.string.effect_process_failure), Toast.LENGTH_SHORT).show();
257+ imageHolder.enablePlusMinusButton(false);
251258 }
252259 });
253260 }
@@ -262,6 +269,7 @@
262269 public void run()
263270 {
264271 Toast.makeText(parent, parent.getString(R.string.effect_process_failure), Toast.LENGTH_SHORT).show();
272+ imageHolder.enablePlusMinusButton(false);
265273 }
266274 });
267275 }
@@ -304,13 +312,14 @@
304312 Toast.makeText(parent, parent.getString(R.string.effect_process_failure), Toast.LENGTH_SHORT).show();
305313 }
306314 });
315+
307316 return;
308317 }
309318
310319 // 保存処理に移る時、PinP の画像位置をリセットする。
311- pipX = 0.01f;
312- pipY = 0.01f;
313- pipS = 0.2f;
320+ pipX = 0.015f;
321+ pipY = 0.015f;
322+ pipS = 0.3f;
314323
315324 try
316325 {
@@ -484,7 +493,9 @@
484493 }
485494 if (event.getPointerCount() > 1)
486495 {
487- return (scaleGestureDetector.onTouchEvent(event));
496+ Log.v(TAG, "DETECT Multi-Touch : " + event.getPointerCount());
497+ // マルチタッチの場合...
498+ //return (scaleGestureDetector.onTouchEvent(event));
488499 }
489500 if (((event.getAction() == MotionEvent.ACTION_UP)||(event.getAction() == MotionEvent.ACTION_MOVE))&&(lastManipulateOperation == IImageManipulatorOperator.PICTURE_IN_PICTURE))
490501 {
@@ -501,62 +512,56 @@
501512 pipY = pY;
502513 bmp.recycle();
503514
504- // ビットマップイメージの更新...大きさは変えない
505- bmp = imageOperator.updatePictureInPicture(pipS, new PointF(pipX, pipY));
515+ // ビットマップイメージの更新...ただし大きさは変えない
516+ bmp = imageOperator.updatePictureInPicture(1.0f, new PointF(pipX, pipY));
506517 Log.v(TAG, "onTouch Up : " + pipX + "," + pipY + "> [" + pX + "," + pY + "] (" + v.getWidth() + "," + v.getHeight() + ") " + width + "," + height);
507518 ((ImageView) v).setImageBitmap(Bitmap.createScaledBitmap(bmp, width, height, true));
508519 bmp.recycle();
509520 }
510- //return (true);
511- return (gestureDetector.onTouchEvent(event));
521+ return (true);
512522 }
513523
514- @Override
515- public boolean onScale(ScaleGestureDetector detector)
524+ /**
525+ * Picture In Pictureの上に載っている画像のサイズを変更する
526+ *
527+ * @param isBigger trueの時、拡大する
528+ */
529+ private void updatePinPOverlayScaleBitmap(boolean isBigger)
516530 {
517- return false;
531+ pipS = (isBigger) ? pipS * 1.25f : pipS * 0.75f;
518532 }
519533
534+/*
520535 @Override
521- public boolean onScaleBegin(ScaleGestureDetector detector)
536+ public boolean onScale(ScaleGestureDetector detector)
522537 {
523- return false;
524- }
538+ // 中に表示する画像の大きさを変える
539+ pipS = pipS * detector.getScaleFactor();
540+ Log.d(TAG, "onScale : " + detector.getScaleFactor() + " SCALE : " + pipS);
525541
526- @Override
527- public void onScaleEnd(ScaleGestureDetector detector)
528- {
542+ ImageView view = imageHolder.getImageTargetImageView();
543+ Bitmap bmp = ((BitmapDrawable) view.getDrawable()).getBitmap();
544+ int width = bmp.getWidth();
545+ int height = bmp.getHeight();
529546
547+ // ビットマップイメージの更新...場所は変えない
548+ bmp = imageOperator.updatePictureInPicture(detector.getScaleFactor(), new PointF(pipX, pipY));
549+ view.setImageBitmap(Bitmap.createScaledBitmap(bmp, width, height, true));
550+ bmp.recycle();
551+ return (true);
530552 }
531553
532554 @Override
533- public boolean onDown(MotionEvent e) {
534- return true;
555+ public boolean onScaleBegin(ScaleGestureDetector detector)
556+ {
557+ Log.d(TAG, "onScaleBegin : "+ detector.getScaleFactor());
558+ return (true);
535559 }
536560
537561 @Override
538- public void onShowPress(MotionEvent e) {
539-
540- }
541-
542- @Override
543- public boolean onSingleTapUp(MotionEvent e) {
544- return true;
545- }
546-
547- @Override
548- public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
562+ public void onScaleEnd(ScaleGestureDetector detector)
549563 {
550- return true;
564+ Log.d(TAG, "onScaleEnd : "+ detector.getScaleFactor());
551565 }
552-
553- @Override
554- public void onLongPress(MotionEvent e) {
555-
556- }
557-
558- @Override
559- public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
560- return true;
561- }
566+*/
562567 }
--- android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java (revision 301)
+++ android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java (revision 302)
@@ -2,7 +2,6 @@
22
33 import android.graphics.Bitmap;
44 import android.graphics.PointF;
5-import android.widget.ImageView;
65
76 /**
87 *
@@ -19,7 +18,7 @@
1918
2019 Bitmap processCombineUpDown(String upperImageFileName, String lowerImageFileName, boolean isResized);
2120 Bitmap processCombineLeftRight(String leftImageFileName, String rightImageFileName, boolean isResized);
22- Bitmap processPictureInPicture(String leftImageFileName, String rightImageFileName, float resizeRate, PointF upperLeft);
23- Bitmap updatePictureInPicture(float resizeRate, PointF upperLeft);
21+ Bitmap processPictureInPicture(String leftImageFileName, String rightImageFileName, float resizeRate, PointF center);
22+ Bitmap updatePictureInPicture(float resizeRate, PointF center);
2423 void clearPictureInPicture();
2524 }
--- android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java (revision 301)
+++ android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IManipulateImageHolder.java (revision 302)
@@ -7,4 +7,6 @@
77 String getSourceImage1();
88 String getSourceImage2();
99 ImageView getImageTargetImageView();
10+
11+ void enablePlusMinusButton(boolean enabled);
1012 }
--- android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java (revision 301)
+++ android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java (revision 302)
@@ -325,6 +325,7 @@
325325 });
326326 }
327327 System.gc();
328+
328329 return (target);
329330 }
330331 catch (Throwable t)
@@ -495,11 +496,11 @@
495496 * @param leftImageFileName 大きい画像
496497 * @param rightImageFileName 小さい画像
497498 * @param resizeRate 小さい画像の比率
498- * @param upperLeft 小さい画像の左上座標
499+ * @param center 小さい画像の中心座標
499500 * @return ビットマップ
500501 */
501502 @Override
502- public Bitmap processPictureInPicture(String leftImageFileName, String rightImageFileName, float resizeRate, PointF upperLeft)
503+ public Bitmap processPictureInPicture(String leftImageFileName, String rightImageFileName, float resizeRate, PointF center)
503504 {
504505 pinpBaseBitmap = drawBackgroundBitmap(leftImageFileName);
505506 if (pinpBaseBitmap == null)
@@ -546,9 +547,20 @@
546547 mat.postRotate(rotation);
547548 mat.postScale(rate, rate);
548549
549- float posX = pinpBaseBitmap.getWidth() * upperLeft.x;
550- float posY = pinpBaseBitmap.getHeight() * upperLeft.y;
550+ float sizeX = center.x - ((rate * opt.outWidth) / 2.0f);
551+ if (sizeX < 0.0f)
552+ {
553+ sizeX = 0.0f;
554+ }
555+ float sizeY = center.y - ((rate * opt.outHeight) / 2.0f);
556+ if (sizeY < 0.0f)
557+ {
558+ sizeY = 0.0f;
559+ }
551560
561+ float posX = pinpBaseBitmap.getWidth() * sizeX;
562+ float posY = pinpBaseBitmap.getHeight() * sizeY;
563+
552564 Bitmap canvasBitmap = pinpBaseBitmap.copy(Bitmap.Config.ARGB_8888, true);
553565 Canvas bitmapCanvas = new Canvas(canvasBitmap);
554566 Bitmap bitmap = BitmapFactory.decodeFile(rightImageFileName, opt);
@@ -566,18 +578,39 @@
566578 }
567579
568580 @Override
569- public Bitmap updatePictureInPicture(float resizeRate, PointF upperLeft)
581+ public Bitmap updatePictureInPicture(float resizeRate, PointF center)
570582 {
571583 if (pinpBaseBitmap == null)
572584 {
573585 return (null);
574586 }
575- try {
576- float posX = pinpBaseBitmap.getWidth() * upperLeft.x;
577- float posY = pinpBaseBitmap.getHeight() * upperLeft.y;
587+ try
588+ {
589+ float marginX =(pinpOverlayBitmap.getWidth()) / 2.0f;
590+ float marginY = (pinpOverlayBitmap.getHeight()) / 2.0f;
591+
592+ float rateX = pinpOverlayBitmap.getWidth() * resizeRate;
593+ float rateY = pinpOverlayBitmap.getHeight() * resizeRate;
594+ if ((rateX > pinpOverlayBitmap.getWidth())||(rateX <= 0.0f))
595+ {
596+ rateX = pinpOverlayBitmap.getWidth();
597+ }
598+ if ((rateY > pinpOverlayBitmap.getHeight())||(rateY <= 0.0f))
599+ {
600+ rateY = pinpOverlayBitmap.getHeight();
601+ }
602+
603+ float posX = (center.x < 0) ? 0.0f : pinpBaseBitmap.getWidth() * (center.x);
604+ float posY = (center.y < 0) ? 0.0f : pinpBaseBitmap.getHeight() * (center.y);
605+
606+ posX = (posX < marginX) ? 0.0f : (posX - marginX);
607+ posY = (posY < marginY) ? 0.0f : (posY - marginY);
608+
578609 Bitmap canvasBitmap = pinpBaseBitmap.copy(Bitmap.Config.ARGB_8888, true);
579610 Canvas bitmapCanvas = new Canvas(canvasBitmap);
580- bitmapCanvas.drawBitmap(pinpOverlayBitmap, posX, posY, null);
611+ Bitmap overlayBitmap = Bitmap.createScaledBitmap(pinpOverlayBitmap, (int) rateX, (int) rateY, true);
612+ bitmapCanvas.drawBitmap(overlayBitmap, posX, posY, null);
613+
581614 return (canvasBitmap);
582615 }
583616 catch (Throwable t)
--- android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java (revision 301)
+++ android/AirA01b/trunk/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java (revision 302)
@@ -113,6 +113,14 @@
113113 final Button share = (Button) view.findViewById(R.id.shareImageButton);
114114 share.setOnClickListener(imageProcessor);
115115
116+ // P in P 時の画像縮小
117+ final Button minus = (Button) view.findViewById(R.id.pinpMinusImageButton);
118+ minus.setOnClickListener(imageProcessor);
119+
120+ // P in P 時の画像拡大
121+ final Button plus = (Button) view.findViewById(R.id.pinpPlusImageButton);
122+ plus.setOnClickListener(imageProcessor);
123+
116124 final ImageView imgView = (ImageView) view.findViewById(R.id.targetImageView);
117125 imgView.setOnTouchListener(imageProcessor);
118126
@@ -292,4 +300,26 @@
292300 }
293301 return (null);
294302 }
303+
304+ @Override
305+ public void enablePlusMinusButton(boolean enabled)
306+ {
307+ View view = getView();
308+ if (view != null)
309+ {
310+ Button minus = (Button) view.findViewById(R.id.pinpMinusImageButton);
311+ if (minus != null)
312+ {
313+ minus.setVisibility((enabled) ? View.VISIBLE : View.INVISIBLE);
314+ minus.setEnabled(enabled);
315+ }
316+
317+ Button plus = (Button) view.findViewById(R.id.pinpPlusImageButton);
318+ if (plus != null)
319+ {
320+ plus.setVisibility((enabled) ? View.VISIBLE : View.INVISIBLE);
321+ plus.setEnabled(enabled);
322+ }
323+ }
324+ }
295325 }
--- android/AirA01b/trunk/app/src/main/res/layout/fragment_manipulate_image_view.xml (revision 301)
+++ android/AirA01b/trunk/app/src/main/res/layout/fragment_manipulate_image_view.xml (revision 302)
@@ -186,7 +186,6 @@
186186 android:layout_width="match_parent"
187187 android:layout_height="wrap_content" />
188188 </LinearLayout>
189-
190189 <!--
191190 <TextView
192191 android:layout_width="wrap_content"
@@ -206,7 +205,7 @@
206205 android:background="@color/background_translucent_dark" >
207206
208207 <Button
209- android:id="@+id/shareImageButton"
208+ android:id="@+id/pinpMinusImageButton"
210209 android:layout_width="wrap_content"
211210 android:layout_height="wrap_content"
212211 android:layout_weight="1"
@@ -213,7 +212,7 @@
213212 android:clickable="true"
214213 android:visibility="invisible"
215214 android:enabled="false"
216- android:text="@string/share_image_label"
215+ android:text="@string/minus_image_label"
217216 android:textSize="12sp" />
218217
219218 <TextView
@@ -220,7 +219,7 @@
220219 android:id="@+id/saveImageSpacer1"
221220 android:layout_width="wrap_content"
222221 android:layout_height="wrap_content"
223- android:layout_weight="9"
222+ android:layout_weight="1"
224223 android:clickable="false"
225224 android:visibility="invisible"
226225 android:text="@string/blank"
@@ -227,11 +226,53 @@
227226 android:textSize="12sp" />
228227
229228 <Button
230- android:id="@+id/saveImageButton"
229+ android:id="@+id/pinpPlusImageButton"
231230 android:layout_width="wrap_content"
232231 android:layout_height="wrap_content"
233232 android:layout_weight="1"
234233 android:clickable="true"
234+ android:visibility="invisible"
235+ android:enabled="false"
236+ android:text="@string/plus_image_label"
237+ android:textSize="12sp" />
238+
239+ <TextView
240+ android:id="@+id/saveImageSpacer2"
241+ android:layout_width="wrap_content"
242+ android:layout_height="wrap_content"
243+ android:layout_weight="1"
244+ android:clickable="false"
245+ android:visibility="invisible"
246+ android:text="@string/blank"
247+ android:textSize="12sp" />
248+
249+ <Button
250+ android:id="@+id/shareImageButton"
251+ android:layout_width="wrap_content"
252+ android:layout_height="wrap_content"
253+ android:layout_weight="1"
254+ android:clickable="true"
255+ android:visibility="gone"
256+ android:enabled="false"
257+ android:text="@string/share_image_label"
258+ android:textSize="12sp" />
259+
260+ <TextView
261+ android:id="@+id/saveImageSpacer3"
262+ android:layout_width="wrap_content"
263+ android:layout_height="wrap_content"
264+ android:layout_weight="1"
265+ android:clickable="false"
266+ android:visibility="invisible"
267+ android:text="@string/blank"
268+ android:textSize="12sp" />
269+
270+ <Button
271+ android:id="@+id/saveImageButton"
272+ android:layout_width="wrap_content"
273+ android:layout_height="wrap_content"
274+ android:layout_weight="4"
275+ android:clickable="true"
235276 android:visibility="visible"
236277 android:text="@string/save_image_label"
237278 android:textSize="12sp" />
--- android/AirA01b/trunk/app/src/main/res/values/strings.xml (revision 301)
+++ android/AirA01b/trunk/app/src/main/res/values/strings.xml (revision 302)
@@ -161,6 +161,9 @@
161161 <string name="data_loading">Loading&#8230;</string>
162162 <string name="cannot_load_bitmap">Image load failed&#8230; </string>
163163
164+ <string name="minus_image_label">-</string>
165+ <string name="plus_image_label">+</string>
166+
164167 <string name="share_chooser_title">Share</string>
165168 <string name="source_image_1">Source Image 1</string>
166169 <string name="source_image_2">Source Image 2</string>
--- android/AirA01b/trunk/app/src/main/res/values-ja/strings.xml (revision 301)
+++ android/AirA01b/trunk/app/src/main/res/values-ja/strings.xml (revision 302)
@@ -159,6 +159,9 @@
159159 <string name="data_loading">読み込み中&#8230;</string>
160160 <string name="cannot_load_bitmap">画像読み込み失敗&#8230; </string>
161161
162+ <string name="minus_image_label">-</string>
163+ <string name="plus_image_label">+</string>
164+
162165 <string name="share_chooser_title">画像の共有</string>
163166 <string name="source_image_1">加工画像 1</string>
164167 <string name="source_image_2">加工画像 2</string>
Show on old repository browser