ピクチャーインピクチャー実装(途中)。
@@ -26,22 +26,21 @@ | ||
26 | 26 | </layouts> |
27 | 27 | </component> |
28 | 28 | <component name="AndroidLogFilters"> |
29 | - <option name="TOOL_WINDOW_CUSTOM_FILTER" value="onTouch" /> | |
29 | + <option name="TOOL_WINDOW_CUSTOM_FILTER" value="aira01b" /> | |
30 | 30 | <option name="TOOL_WINDOW_LOG_LEVEL" value="verbose" /> |
31 | 31 | <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="No Filters" /> |
32 | 32 | </component> |
33 | 33 | <component name="ChangeListManager"> |
34 | 34 | <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" /> | |
37 | 35 | <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" /> | |
39 | 36 | <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" /> |
40 | 37 | <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" /> | |
41 | 39 | <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" /> |
42 | 40 | <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" /> | |
45 | 44 | </list> |
46 | 45 | <ignored path="AirA01b.iws" /> |
47 | 46 | <ignored path=".idea/workspace.xml" /> |
@@ -73,94 +72,7 @@ | ||
73 | 72 | <favorites_list name="AirA01b" /> |
74 | 73 | </component> |
75 | 74 | <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=""Target image size is too large."" /> | |
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 /> | |
164 | 76 | </component> |
165 | 77 | <component name="FileTemplateManagerImpl"> |
166 | 78 | <option name="RECENT_TEMPLATES"> |
@@ -2826,11 +2738,7 @@ | ||
2826 | 2738 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IEffectImageProcessingType.java" /> |
2827 | 2739 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/playback/ExifInformationDumper.java" /> |
2828 | 2740 | <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" /> | |
2830 | 2741 | <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" /> | |
2834 | 2742 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/preference/ICameraPropertyAccessor.java" /> |
2835 | 2743 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/liveview/ILiveImageStatusNotify.java" /> |
2836 | 2744 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/liveview/CameraLiveImageView.java" /> |
@@ -2838,8 +2746,12 @@ | ||
2838 | 2746 | <option value="$PROJECT_DIR$/app/src/main/res/values/arrays.xml" /> |
2839 | 2747 | <option value="$PROJECT_DIR$/app/src/main/res/values-ja/arrays.xml" /> |
2840 | 2748 | <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" /> | |
2841 | 2753 | <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" /> | |
2843 | 2755 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java" /> |
2844 | 2756 | <option value="$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java" /> |
2845 | 2757 | </list> |
@@ -2875,6 +2787,20 @@ | ||
2875 | 2787 | <foldersAlwaysOnTop value="true" /> |
2876 | 2788 | </navigator> |
2877 | 2789 | <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> | |
2878 | 2804 | <pane id="AndroidView"> |
2879 | 2805 | <subPane> |
2880 | 2806 | <PATH> |
@@ -2967,9 +2893,6 @@ | ||
2967 | 2893 | </PATH> |
2968 | 2894 | </subPane> |
2969 | 2895 | </pane> |
2970 | - <pane id="Scratches"> | |
2971 | - <subPane /> | |
2972 | - </pane> | |
2973 | 2896 | <pane id="ProjectPane"> |
2974 | 2897 | <subPane> |
2975 | 2898 | <PATH> |
@@ -3254,6 +3177,9 @@ | ||
3254 | 3177 | </PATH> |
3255 | 3178 | </subPane> |
3256 | 3179 | </pane> |
3180 | + <pane id="Scratches"> | |
3181 | + <subPane /> | |
3182 | + </pane> | |
3257 | 3183 | <pane id="Scope"> |
3258 | 3184 | <subPane subId="Project Files"> |
3259 | 3185 | <PATH> |
@@ -3274,20 +3200,6 @@ | ||
3274 | 3200 | </PATH> |
3275 | 3201 | </subPane> |
3276 | 3202 | </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> | |
3291 | 3203 | </panes> |
3292 | 3204 | </component> |
3293 | 3205 | <component name="PropertiesComponent"> |
@@ -3740,13 +3652,6 @@ | ||
3740 | 3652 | <option name="presentableId" value="Default" /> |
3741 | 3653 | <updated>1469871562549</updated> |
3742 | 3654 | </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> | |
3750 | 3655 | <task id="LOCAL-00048" summary="スプラッシュスクリーン調整。"> |
3751 | 3656 | <created>1473939533569</created> |
3752 | 3657 | <option name="number" value="00048" /> |
@@ -4083,7 +3988,14 @@ | ||
4083 | 3988 | <option name="project" value="LOCAL" /> |
4084 | 3989 | <updated>1484236137857</updated> |
4085 | 3990 | </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" /> | |
4087 | 3999 | <servers /> |
4088 | 4000 | </component> |
4089 | 4001 | <component name="TodoView"> |
@@ -4099,30 +4011,32 @@ | ||
4099 | 4011 | <frame x="54" y="0" width="1313" height="769" extended-state="0" /> |
4100 | 4012 | <editor active="false" /> |
4101 | 4013 | <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" /> | |
4102 | 4024 | <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" /> | |
4104 | 4025 | <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" /> | |
4106 | 4026 | <window_info id="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="8" side_tool="false" content_ui="tabs" /> |
4107 | 4027 | <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" /> |
4108 | 4028 | <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" /> | |
4111 | 4030 | <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" /> |
4112 | 4031 | <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" /> | |
4114 | 4032 | <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" /> |
4115 | 4033 | <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" /> | |
4117 | 4034 | <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" /> | |
4119 | 4035 | <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" /> | |
4120 | 4037 | <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" /> | |
4123 | 4038 | <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" /> |
4124 | 4039 | <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" /> | |
4126 | 4040 | <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" /> |
4127 | 4041 | <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" /> |
4128 | 4042 | <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 @@ | ||
4129 | 4043 | <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" /> |
4130 | 4044 | <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" /> |
4131 | 4045 | <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" /> | |
4134 | 4046 | </layout> |
4135 | 4047 | </component> |
4136 | 4048 | <component name="Vcs.Log.UiProperties"> |
@@ -4145,7 +4057,6 @@ | ||
4145 | 4057 | <option name="myLimit" value="2678400000" /> |
4146 | 4058 | </component> |
4147 | 4059 | <component name="VcsManagerConfiguration"> |
4148 | - <MESSAGE value="V1.2.0リリース版。" /> | |
4149 | 4060 | <MESSAGE value="次バージョン準備。" /> |
4150 | 4061 | <MESSAGE value="撮影情報のダイアログに「露出プログラム」を表示するようにしてみた。 " /> |
4151 | 4062 | <MESSAGE value="撮影情報のダイアログに「測光モード」を表示するようにしてみた。 " /> |
@@ -4170,7 +4081,8 @@ | ||
4170 | 4081 | <MESSAGE value="グリッドとフォーカスアシストを起動時に戻すようにした。 " /> |
4171 | 4082 | <MESSAGE value="画像結合時の位置を調整するようにした。 " /> |
4172 | 4083 | <MESSAGE value="とりあえずのピクチャーインピクチャー実装準備。" /> |
4173 | - <option name="LAST_COMMIT_MESSAGE" value="とりあえずのピクチャーインピクチャー実装準備。" /> | |
4084 | + <MESSAGE value="ピクチャーインピクチャー実装(途中)。" /> | |
4085 | + <option name="LAST_COMMIT_MESSAGE" value="ピクチャーインピクチャー実装(途中)。" /> | |
4174 | 4086 | </component> |
4175 | 4087 | <component name="XDebuggerManager"> |
4176 | 4088 | <breakpoint-manager> |
@@ -4397,22 +4309,6 @@ | ||
4397 | 4309 | </state> |
4398 | 4310 | </provider> |
4399 | 4311 | </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> | |
4416 | 4312 | <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/MainActivity.java"> |
4417 | 4313 | <provider selected="true" editor-type-id="text-editor"> |
4418 | 4314 | <state relative-caret-position="136"> |
@@ -4502,37 +4398,57 @@ | ||
4502 | 4398 | </provider> |
4503 | 4399 | </entry> |
4504 | 4400 | <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"> | |
4506 | 4402 | <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" /> | |
4509 | 4405 | <folding /> |
4510 | 4406 | </state> |
4511 | 4407 | </provider> |
4512 | 4408 | </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> | |
4513 | 4425 | <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/fragment_manipulate_image_view.xml"> |
4514 | 4426 | <provider editor-type-id="android-designer2"> |
4515 | 4427 | <state /> |
4516 | 4428 | </provider> |
4517 | 4429 | <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> | |
4521 | 4437 | </state> |
4522 | 4438 | </provider> |
4523 | 4439 | </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"> | |
4525 | 4441 | <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" /> | |
4528 | 4444 | <folding /> |
4529 | 4445 | </state> |
4530 | 4446 | </provider> |
4531 | 4447 | </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"> | |
4533 | 4449 | <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" /> | |
4536 | 4452 | <folding /> |
4537 | 4453 | </state> |
4538 | 4454 | </provider> |
@@ -4539,16 +4455,18 @@ | ||
4539 | 4455 | </entry> |
4540 | 4456 | <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/IImageManipulatorOperator.java"> |
4541 | 4457 | <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> | |
4545 | 4463 | </state> |
4546 | 4464 | </provider> |
4547 | 4465 | </entry> |
4548 | 4466 | <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ManipulateImageFragment.java"> |
4549 | 4467 | <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" /> | |
4552 | 4470 | <folding /> |
4553 | 4471 | </state> |
4554 | 4472 | </provider> |
@@ -4555,10 +4473,10 @@ | ||
4555 | 4473 | </entry> |
4556 | 4474 | <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/ImageManipulator.java"> |
4557 | 4475 | <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" /> | |
4560 | 4478 | <folding> |
4561 | - <marker date="1484402412669" expanded="false" signature="16729:16785" ph=""Target image size is too large."" /> | |
4479 | + <marker date="1484488156830" expanded="false" signature="16730:16786" ph=""Target image size is too large."" /> | |
4562 | 4480 | </folding> |
4563 | 4481 | </state> |
4564 | 4482 | </provider> |
@@ -4565,50 +4483,9 @@ | ||
4565 | 4483 | </entry> |
4566 | 4484 | <entry file="file://$PROJECT_DIR$/app/src/main/java/jp/osdn/gokigen/aira01b/manipulate/EffectImageProcessor.java"> |
4567 | 4485 | <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 /> | |
4612 | 4489 | </state> |
4613 | 4490 | </provider> |
4614 | 4491 | </entry> |
@@ -14,9 +14,7 @@ | ||
14 | 14 | import android.support.v4.app.ShareCompat; |
15 | 15 | import android.support.v7.app.AlertDialog; |
16 | 16 | import android.util.Log; |
17 | -import android.view.GestureDetector; | |
18 | 17 | import android.view.MotionEvent; |
19 | -import android.view.ScaleGestureDetector; | |
20 | 18 | import android.view.View; |
21 | 19 | import android.widget.ImageView; |
22 | 20 | import android.widget.Toast; |
@@ -35,7 +33,7 @@ | ||
35 | 33 | * |
36 | 34 | * |
37 | 35 | */ |
38 | -class EffectImageProcessor implements View.OnClickListener, View.OnTouchListener, ScaleGestureDetector.OnScaleGestureListener, GestureDetector.OnGestureListener | |
36 | +class EffectImageProcessor implements View.OnClickListener, View.OnTouchListener | |
39 | 37 | { |
40 | 38 | private static final String TAG = EffectImageProcessor.class.getSimpleName(); |
41 | 39 |
@@ -47,15 +45,13 @@ | ||
47 | 45 | private final Activity parent; |
48 | 46 | private final IManipulateImageHolder imageHolder; |
49 | 47 | private final IImageManipulatorOperator imageOperator; |
50 | - private final ScaleGestureDetector scaleGestureDetector; | |
51 | - private final GestureDetector gestureDetector; | |
52 | 48 | |
53 | 49 | private int lastManipulateOperation = MANIPULATE_IMAGE_NONE; |
54 | 50 | private String lastSavedFilePath = null; |
55 | 51 | |
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; | |
59 | 55 | |
60 | 56 | /** |
61 | 57 | * コンストラクタ |
@@ -66,8 +62,6 @@ | ||
66 | 62 | this.parent = activity; |
67 | 63 | this.imageHolder = imageHolder; |
68 | 64 | this.imageOperator = imageOperator; |
69 | - this.scaleGestureDetector = new ScaleGestureDetector(activity, this); | |
70 | - this.gestureDetector = new GestureDetector(activity, this); | |
71 | 65 | } |
72 | 66 | |
73 | 67 | /** |
@@ -94,6 +88,16 @@ | ||
94 | 88 | // 保存した画像の共有 |
95 | 89 | sharedSaveImage(); |
96 | 90 | 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; | |
97 | 101 | } |
98 | 102 | } |
99 | 103 |
@@ -136,6 +140,7 @@ | ||
136 | 140 | saveDialog.setIndeterminate(true); |
137 | 141 | saveDialog.setCancelable(false); |
138 | 142 | saveDialog.show(); |
143 | + imageHolder.enablePlusMinusButton(false); | |
139 | 144 | Thread thread = new Thread(new Runnable() { |
140 | 145 | public void run() { |
141 | 146 | System.gc(); |
@@ -236,6 +241,7 @@ | ||
236 | 241 | public void run() |
237 | 242 | { |
238 | 243 | targetImageView.setImageBitmap(targetBitmap); |
244 | + imageHolder.enablePlusMinusButton((lastManipulateOperation == IImageManipulatorOperator.PICTURE_IN_PICTURE)); | |
239 | 245 | System.gc(); |
240 | 246 | } |
241 | 247 | }); |
@@ -248,6 +254,7 @@ | ||
248 | 254 | public void run() |
249 | 255 | { |
250 | 256 | Toast.makeText(parent, parent.getString(R.string.effect_process_failure), Toast.LENGTH_SHORT).show(); |
257 | + imageHolder.enablePlusMinusButton(false); | |
251 | 258 | } |
252 | 259 | }); |
253 | 260 | } |
@@ -262,6 +269,7 @@ | ||
262 | 269 | public void run() |
263 | 270 | { |
264 | 271 | Toast.makeText(parent, parent.getString(R.string.effect_process_failure), Toast.LENGTH_SHORT).show(); |
272 | + imageHolder.enablePlusMinusButton(false); | |
265 | 273 | } |
266 | 274 | }); |
267 | 275 | } |
@@ -304,13 +312,14 @@ | ||
304 | 312 | Toast.makeText(parent, parent.getString(R.string.effect_process_failure), Toast.LENGTH_SHORT).show(); |
305 | 313 | } |
306 | 314 | }); |
315 | + | |
307 | 316 | return; |
308 | 317 | } |
309 | 318 | |
310 | 319 | // 保存処理に移る時、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; | |
314 | 323 | |
315 | 324 | try |
316 | 325 | { |
@@ -484,7 +493,9 @@ | ||
484 | 493 | } |
485 | 494 | if (event.getPointerCount() > 1) |
486 | 495 | { |
487 | - return (scaleGestureDetector.onTouchEvent(event)); | |
496 | + Log.v(TAG, "DETECT Multi-Touch : " + event.getPointerCount()); | |
497 | + // マルチタッチの場合... | |
498 | + //return (scaleGestureDetector.onTouchEvent(event)); | |
488 | 499 | } |
489 | 500 | if (((event.getAction() == MotionEvent.ACTION_UP)||(event.getAction() == MotionEvent.ACTION_MOVE))&&(lastManipulateOperation == IImageManipulatorOperator.PICTURE_IN_PICTURE)) |
490 | 501 | { |
@@ -501,62 +512,56 @@ | ||
501 | 512 | pipY = pY; |
502 | 513 | bmp.recycle(); |
503 | 514 | |
504 | - // ビットマップイメージの更新...大きさは変えない | |
505 | - bmp = imageOperator.updatePictureInPicture(pipS, new PointF(pipX, pipY)); | |
515 | + // ビットマップイメージの更新...ただし大きさは変えない | |
516 | + bmp = imageOperator.updatePictureInPicture(1.0f, new PointF(pipX, pipY)); | |
506 | 517 | Log.v(TAG, "onTouch Up : " + pipX + "," + pipY + "> [" + pX + "," + pY + "] (" + v.getWidth() + "," + v.getHeight() + ") " + width + "," + height); |
507 | 518 | ((ImageView) v).setImageBitmap(Bitmap.createScaledBitmap(bmp, width, height, true)); |
508 | 519 | bmp.recycle(); |
509 | 520 | } |
510 | - //return (true); | |
511 | - return (gestureDetector.onTouchEvent(event)); | |
521 | + return (true); | |
512 | 522 | } |
513 | 523 | |
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) | |
516 | 530 | { |
517 | - return false; | |
531 | + pipS = (isBigger) ? pipS * 1.25f : pipS * 0.75f; | |
518 | 532 | } |
519 | 533 | |
534 | +/* | |
520 | 535 | @Override |
521 | - public boolean onScaleBegin(ScaleGestureDetector detector) | |
536 | + public boolean onScale(ScaleGestureDetector detector) | |
522 | 537 | { |
523 | - return false; | |
524 | - } | |
538 | + // 中に表示する画像の大きさを変える | |
539 | + pipS = pipS * detector.getScaleFactor(); | |
540 | + Log.d(TAG, "onScale : " + detector.getScaleFactor() + " SCALE : " + pipS); | |
525 | 541 | |
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(); | |
529 | 546 | |
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); | |
530 | 552 | } |
531 | 553 | |
532 | 554 | @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); | |
535 | 559 | } |
536 | 560 | |
537 | 561 | @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) | |
549 | 563 | { |
550 | - return true; | |
564 | + Log.d(TAG, "onScaleEnd : "+ detector.getScaleFactor()); | |
551 | 565 | } |
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 | +*/ | |
562 | 567 | } |
@@ -2,7 +2,6 @@ | ||
2 | 2 | |
3 | 3 | import android.graphics.Bitmap; |
4 | 4 | import android.graphics.PointF; |
5 | -import android.widget.ImageView; | |
6 | 5 | |
7 | 6 | /** |
8 | 7 | * |
@@ -19,7 +18,7 @@ | ||
19 | 18 | |
20 | 19 | Bitmap processCombineUpDown(String upperImageFileName, String lowerImageFileName, boolean isResized); |
21 | 20 | 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); | |
24 | 23 | void clearPictureInPicture(); |
25 | 24 | } |
@@ -7,4 +7,6 @@ | ||
7 | 7 | String getSourceImage1(); |
8 | 8 | String getSourceImage2(); |
9 | 9 | ImageView getImageTargetImageView(); |
10 | + | |
11 | + void enablePlusMinusButton(boolean enabled); | |
10 | 12 | } |
@@ -325,6 +325,7 @@ | ||
325 | 325 | }); |
326 | 326 | } |
327 | 327 | System.gc(); |
328 | + | |
328 | 329 | return (target); |
329 | 330 | } |
330 | 331 | catch (Throwable t) |
@@ -495,11 +496,11 @@ | ||
495 | 496 | * @param leftImageFileName 大きい画像 |
496 | 497 | * @param rightImageFileName 小さい画像 |
497 | 498 | * @param resizeRate 小さい画像の比率 |
498 | - * @param upperLeft 小さい画像の左上座標 | |
499 | + * @param center 小さい画像の中心座標 | |
499 | 500 | * @return ビットマップ |
500 | 501 | */ |
501 | 502 | @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) | |
503 | 504 | { |
504 | 505 | pinpBaseBitmap = drawBackgroundBitmap(leftImageFileName); |
505 | 506 | if (pinpBaseBitmap == null) |
@@ -546,9 +547,20 @@ | ||
546 | 547 | mat.postRotate(rotation); |
547 | 548 | mat.postScale(rate, rate); |
548 | 549 | |
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 | + } | |
551 | 560 | |
561 | + float posX = pinpBaseBitmap.getWidth() * sizeX; | |
562 | + float posY = pinpBaseBitmap.getHeight() * sizeY; | |
563 | + | |
552 | 564 | Bitmap canvasBitmap = pinpBaseBitmap.copy(Bitmap.Config.ARGB_8888, true); |
553 | 565 | Canvas bitmapCanvas = new Canvas(canvasBitmap); |
554 | 566 | Bitmap bitmap = BitmapFactory.decodeFile(rightImageFileName, opt); |
@@ -566,18 +578,39 @@ | ||
566 | 578 | } |
567 | 579 | |
568 | 580 | @Override |
569 | - public Bitmap updatePictureInPicture(float resizeRate, PointF upperLeft) | |
581 | + public Bitmap updatePictureInPicture(float resizeRate, PointF center) | |
570 | 582 | { |
571 | 583 | if (pinpBaseBitmap == null) |
572 | 584 | { |
573 | 585 | return (null); |
574 | 586 | } |
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 | + | |
578 | 609 | Bitmap canvasBitmap = pinpBaseBitmap.copy(Bitmap.Config.ARGB_8888, true); |
579 | 610 | 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 | + | |
581 | 614 | return (canvasBitmap); |
582 | 615 | } |
583 | 616 | catch (Throwable t) |
@@ -113,6 +113,14 @@ | ||
113 | 113 | final Button share = (Button) view.findViewById(R.id.shareImageButton); |
114 | 114 | share.setOnClickListener(imageProcessor); |
115 | 115 | |
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 | + | |
116 | 124 | final ImageView imgView = (ImageView) view.findViewById(R.id.targetImageView); |
117 | 125 | imgView.setOnTouchListener(imageProcessor); |
118 | 126 |
@@ -292,4 +300,26 @@ | ||
292 | 300 | } |
293 | 301 | return (null); |
294 | 302 | } |
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 | + } | |
295 | 325 | } |
@@ -186,7 +186,6 @@ | ||
186 | 186 | android:layout_width="match_parent" |
187 | 187 | android:layout_height="wrap_content" /> |
188 | 188 | </LinearLayout> |
189 | - | |
190 | 189 | <!-- |
191 | 190 | <TextView |
192 | 191 | android:layout_width="wrap_content" |
@@ -206,7 +205,7 @@ | ||
206 | 205 | android:background="@color/background_translucent_dark" > |
207 | 206 | |
208 | 207 | <Button |
209 | - android:id="@+id/shareImageButton" | |
208 | + android:id="@+id/pinpMinusImageButton" | |
210 | 209 | android:layout_width="wrap_content" |
211 | 210 | android:layout_height="wrap_content" |
212 | 211 | android:layout_weight="1" |
@@ -213,7 +212,7 @@ | ||
213 | 212 | android:clickable="true" |
214 | 213 | android:visibility="invisible" |
215 | 214 | android:enabled="false" |
216 | - android:text="@string/share_image_label" | |
215 | + android:text="@string/minus_image_label" | |
217 | 216 | android:textSize="12sp" /> |
218 | 217 | |
219 | 218 | <TextView |
@@ -220,7 +219,7 @@ | ||
220 | 219 | android:id="@+id/saveImageSpacer1" |
221 | 220 | android:layout_width="wrap_content" |
222 | 221 | android:layout_height="wrap_content" |
223 | - android:layout_weight="9" | |
222 | + android:layout_weight="1" | |
224 | 223 | android:clickable="false" |
225 | 224 | android:visibility="invisible" |
226 | 225 | android:text="@string/blank" |
@@ -227,11 +226,53 @@ | ||
227 | 226 | android:textSize="12sp" /> |
228 | 227 | |
229 | 228 | <Button |
230 | - android:id="@+id/saveImageButton" | |
229 | + android:id="@+id/pinpPlusImageButton" | |
231 | 230 | android:layout_width="wrap_content" |
232 | 231 | android:layout_height="wrap_content" |
233 | 232 | android:layout_weight="1" |
234 | 233 | 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" | |
235 | 276 | android:visibility="visible" |
236 | 277 | android:text="@string/save_image_label" |
237 | 278 | android:textSize="12sp" /> |
@@ -161,6 +161,9 @@ | ||
161 | 161 | <string name="data_loading">Loading…</string> |
162 | 162 | <string name="cannot_load_bitmap">Image load failed… </string> |
163 | 163 | |
164 | + <string name="minus_image_label">-</string> | |
165 | + <string name="plus_image_label">+</string> | |
166 | + | |
164 | 167 | <string name="share_chooser_title">Share</string> |
165 | 168 | <string name="source_image_1">Source Image 1</string> |
166 | 169 | <string name="source_image_2">Source Image 2</string> |
@@ -159,6 +159,9 @@ | ||
159 | 159 | <string name="data_loading">読み込み中…</string> |
160 | 160 | <string name="cannot_load_bitmap">画像読み込み失敗… </string> |
161 | 161 | |
162 | + <string name="minus_image_label">-</string> | |
163 | + <string name="plus_image_label">+</string> | |
164 | + | |
162 | 165 | <string name="share_chooser_title">画像の共有</string> |
163 | 166 | <string name="source_image_1">加工画像 1</string> |
164 | 167 | <string name="source_image_2">加工画像 2</string> |