Change margins

This commit is contained in:
dvhh 2015-04-13 19:47:49 +09:00
parent 300be6ea66
commit 112029cc15
3 changed files with 43 additions and 24 deletions

View File

@ -43,6 +43,7 @@ import android.view.GestureDetector;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewParent;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.CompletionInfo;
import android.view.inputmethod.CorrectionInfo;
@ -1101,7 +1102,7 @@ public class EmulatorView extends View implements GestureDetector.OnGestureListe
x > 255-32 || y > 255-32;
//Log.d(TAG, "mouse button "+x+","+y+","+button_code+",oob="+out_of_bounds);
if(button_code < 0 || button_code > 255-32) {
Log.e(TAG, "mouse button_code out of range: "+button_code);
Log.e(TAG, "mouse button_code out of range: " + button_code);
return;
}
if(!out_of_bounds) {
@ -1468,8 +1469,8 @@ public class EmulatorView extends View implements GestureDetector.OnGestureListe
}
private void updateSize(int w, int h) {
mColumns = Math.max(1, (int) (((float) w) / mCharacterWidth));
mVisibleColumns = Math.max(1, (int) (((float) mVisibleWidth) / mCharacterWidth));
mColumns = Math.max(1, (int) Math.floor(((float) w) / mCharacterWidth));
mVisibleColumns = Math.max(1, (int) Math.floor(((float) mVisibleWidth) / mCharacterWidth));
mTopOfScreenMargin = mTextRenderer.getTopMargin();
mRows = Math.max(1, (h - mTopOfScreenMargin) / mCharacterHeight);
@ -1493,9 +1494,17 @@ public class EmulatorView extends View implements GestureDetector.OnGestureListe
//Need to clear saved links on each display refresh
mLinkLayer.clear();
if (mKnownSize) {
int w = getWidth();
int h = getHeight();
// Log.w("Term", "(" + w + ", " + h + ")");
int w = getWidth() - getPaddingLeft() -getPaddingRight();
int h = getHeight() -getPaddingTop() -getPaddingBottom();
ViewParent parent=getParent();
if(parent instanceof View) {
w -= ((View) parent).getPaddingLeft() + ((View) parent).getPaddingRight();
h -= ((View) parent).getPaddingTop() + ((View) parent).getPaddingBottom();
}
//Log.w("Term", "(" + w + ", " + h + ")");
if (force || w != mVisibleWidth || h != mVisibleHeight) {
mVisibleWidth = w;
mVisibleHeight = h;
@ -1711,4 +1720,5 @@ public class EmulatorView extends View implements GestureDetector.OnGestureListe
else
return null;
}
}

View File

@ -393,15 +393,6 @@ public class Term extends Activity implements UpdateCallback {
mAlreadyStarted = true;
}
protected int dpToPixel(int input) {
Resources r = getResources();
int px = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
input,
r.getDisplayMetrics()
);
return px;
}
private String makePathFromBundle(Bundle extras) {
if (extras == null || extras.size() == 0) {
@ -533,6 +524,7 @@ public class Term extends Activity implements UpdateCallback {
private TermView createEmulatorView(TermSession session) {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
TermView emulatorView = new TermView(this, session, metrics);
emulatorView.setExtGestureListener(new EmulatorViewGestureListener(emulatorView));
@ -595,18 +587,11 @@ public class Term extends Activity implements UpdateCallback {
}
}
if(mSettings.getSafeMargins()) {
mViewFlipper.setPadding(
dpToPixel(48),dpToPixel(27),
dpToPixel(48),dpToPixel(27)
);
}else{
mViewFlipper.setPadding(0,0,0,0);
}
/*
EmulatorView v = (EmulatorView) mViewFlipper.getCurrentView();
if(v!=null)
v.updateSize(true);
*/
int orientation = mSettings.getScreenOrientation();
int o = 0;
if (orientation == 0) {

View File

@ -20,10 +20,12 @@ import java.util.Iterator;
import java.util.LinkedList;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.os.Handler;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.widget.Toast;
@ -100,11 +102,33 @@ public class TermViewFlipper extends ViewFlipper implements Iterable<View> {
Gravity.TOP|Gravity.LEFT);
}
protected int dpToPixel(int input) {
Resources r = getResources();
int px = (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
input,
r.getDisplayMetrics()
);
return px;
}
public void updatePrefs(TermSettings settings) {
boolean statusBarVisible = settings.showStatusBar();
int[] colorScheme = settings.getColorScheme();
setBackgroundColor(colorScheme[1]);
mStatusBarVisible = statusBarVisible;
if(settings.getSafeMargins()) {
setPadding(
dpToPixel(48), dpToPixel(27),
dpToPixel(48), dpToPixel(27)
);
}else{
setPadding(0, 0, 0, 0);
}
EmulatorView view = (EmulatorView) getCurrentView();
if (view != null) {
view.updateSize(true);
}
}
public Iterator<View> iterator() {