Commit aaac55c7 by Kim Jinsung

Merge branch 'features/1.0.500_#33721' into 'feature/1.1.0'

#33721 手書きパレット機能の追加

See merge request !22
parents 3e285555 1658176d
......@@ -1367,7 +1367,9 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
}
if(FileUtil.exists(tempImagePath)){ //Tempパスにファイルがある場合、編集を実行
//編集画面をコール
if(isRotatable()) {
setFixedOrientation(true); //回転固定
}
PhotoEditActivity dialog = new PhotoEditActivity(ABVContentViewActivity.this, tempImagePath); //ロードして編集するイメージのパスを設定
showPhotoEditDialog(dialog);
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
......@@ -1377,8 +1379,10 @@ public abstract class ABVContentViewActivity extends ABVAuthenticatedActivity {
webViewLoadUrl(String.format("javascript:document.getElementById('reportForm').contentWindow.changeThumbnailTagForAnd('%s','%s')", attachedFilename, tempImagePath));
afterABookCheckApi(cmd, taskKey, 0, "", null);
mPhotoEditDialog = null;
if(isRotatable()) {
setFixedOrientation(false); ////回転可能
}
}
});
}
else{
......
......@@ -120,7 +120,6 @@ public class ParentWebViewActivity extends ABVContentViewActivity {
mLocalFile = null;
//編集可能可否をチェックする。
if (mEnablePhotoEdit.equals("1")) { //編集の場合、編集画面を開ける。
setFixedOrientation(true);
commonOpenEditPage();
}
} catch (Exception e) {
......
......@@ -37,11 +37,10 @@ public class PhotoEditActivity extends Dialog {
private final String TAG = "PhotoEditActivity";
private final String editToolPath = "file:///android_asset/Drawing/index.html"; //EditToolのパス。
private final String editToolName = "Drawing"; //EditToolの名
private final float screenToDialogRatio = 0.8f; // 編集画面のタイアローグに表示するイメージの比率
private WebView editPageWebView; //ダイアローグの上に編集画面をロード
private Bitmap bitmapOfPhoto; //写真のBitmap情報
private int photoWidth;
private int photoHeight;
private float photoWidth;
private float photoHeight;
private String photoFilePath; //ロードして修正するファイルのパス
private JsInf jsInf = new JsInf(); //Javascript Interface
private Context context;
......@@ -79,29 +78,21 @@ public class PhotoEditActivity extends Dialog {
Rect displayRectangle = new Rect();
Window window = ((Activity) context).getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(displayRectangle);
float photoRatio = photoWidth / photoHeight; //画面の横と縦の割合
float displayHeight = (float) displayRectangle.height(); //画面の縦幅
float displayWidth = (float) displayRectangle.width(); //画面の横幅
int dialogWidth = (int) (displayHeight * photoRatio); //ダイアローグの横幅を縦幅について計算
if(photoRatio > 1){ dialogWidth = (int) (dialogWidth * 0.75f); } //横の写真はダイアローグの横幅を75パーセントに計算
else{ dialogWidth = (int) (dialogWidth * 0.9f); } //縦の写真はダイアローグの横幅を90パーセントに計算
if(getWindow() != null) {
//画面の方向によってダイアローグのサイズを決定
int screenOrientation = context.getResources().getConfiguration().orientation; //画面の方向
switch (screenOrientation) {
case Surface.ROTATION_0:
case Surface.ROTATION_180: //横
float photoRatio = (float) photoWidth / (float) photoHeight; //画面の横と縦の割合
float displayHeight = (float) displayRectangle.height() * screenToDialogRatio; //画面の縦幅の90パーセント
float displayWidth = (float) displayRectangle.width() * screenToDialogRatio; //画面の横幅の90パーセント
int dialogWidth = (int) (displayHeight * photoRatio); //ダイアローグの横幅を計算
if (dialogWidth < displayWidth) { //計算した横幅が画面より小さい場合はそのまま設定
getWindow().setLayout(dialogWidth, ViewGroup.LayoutParams.WRAP_CONTENT);//ViewGroup.LayoutParams.WRAP_CONTENT);
} else { //計算した横幅が画面より大き場合は画面の横幅に設定
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
break;
case Surface.ROTATION_90:
case Surface.ROTATION_270: //縦
//画面方向が縦の場合、画面の横幅に設定
if (dialogWidth < displayWidth) {
//計算した横幅が画面より小さい場合はそのまま設定
getWindow().setLayout(dialogWidth, ViewGroup.LayoutParams.WRAP_CONTENT);
} else {
//計算した横幅が画面より大き場合は画面の横幅に反映
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
break;
}
}
......@@ -138,7 +129,7 @@ public class PhotoEditActivity extends Dialog {
if (url.contains(editToolName)) {
//最初ページロードの場合
//ページロードの終了後のCanvas設定
float photoRatio = (float) photoHeight / (float) photoWidth; //写真の割合を計算
float photoRatio = photoHeight / photoWidth; //写真の割合を計算
view.loadUrl(String.format("javascript:resizeCanvasToRatio(%f);", photoRatio)); //写真の割合によってCanvasのサイズを決める。
view.loadUrl(String.format("javascript:setBackground('%s');", photoFilePath)); //Canvasの背景をイメージにする
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment