/**
* Determine (multi)finger focal point (a.k.a. center point between all
* fingers)
*
* @return PointF focal point
*/
private PointF determineFocalPoint(MotionEvent e) {
// Number of fingers on screen
final int pCount = e.getPointerCount();
float x = 0f;
float y = 0f;
for (int i = 0; i < pCount; i++) {
x += e.getX(i);
y += e.getY(i);
}
return new PointF(x / pCount, y / pCount);
}
java类android.graphics.PointF的实例源码
MoveGestureDetector.java 文件源码
项目:Cable-Android
阅读 24
收藏 0
点赞 0
评论 0
FlingToDeleteHelper.java 文件源码
项目:LaunchEnr
阅读 27
收藏 0
点赞 0
评论 0
Runnable getFlingAnimation(DropTarget.DragObject dragObject) {
PointF vel = isFlingingToDelete();
if (vel == null) {
return null;
}
return new FlingAnimation(dragObject, vel, mDropTarget, mLauncher);
}
Ease.java 文件源码
项目:GitHub
阅读 22
收藏 0
点赞 0
评论 0
private void init(float startX, float startY, float endX, float endY) {
PointF start = new PointF(startX, startY);
PointF end = new PointF(endX, endY);
c.x = 3 * start.x;
b.x = 3 * (end.x - start.x) - c.x;
a.x = 1 - c.x - b.x;
c.y = 3 * start.y;
b.y = 3 * (end.y - start.y) - c.y;
a.y = 1 - c.y - b.y;
}
Layer.java 文件源码
项目:spline
阅读 30
收藏 0
点赞 0
评论 0
/**
* Convenience methods for the control points of the layer's bounding box
*/
public PointF getTopLeft() {
topLeft.x = getLeft();
topLeft.y = getTop();
return topLeft;
}
TouchImageView.java 文件源码
项目:PhotoPicker-master
阅读 43
收藏 0
点赞 0
评论 0
/**
* Return a Rect representing the zoomed image.
*
* @return rect representing zoomed image
*/
public RectF getZoomedRect() {
if (mScaleType == ScaleType.FIT_XY) {
throw new UnsupportedOperationException("getZoomedRect() not supported with FIT_XY");
}
PointF topLeft = transformCoordTouchToBitmap(0, 0, true);
PointF bottomRight = transformCoordTouchToBitmap(viewWidth, viewHeight, true);
float w = getDrawable().getIntrinsicWidth();
float h = getDrawable().getIntrinsicHeight();
return new RectF(topLeft.x / w, topLeft.y / h, bottomRight.x / w, bottomRight.y / h);
}
ScaleCircleNavigator.java 文件源码
项目:GitHub
阅读 26
收藏 0
点赞 0
评论 0
@Override
protected void onDraw(Canvas canvas) {
for (int i = 0, j = mCirclePoints.size(); i < j; i++) {
PointF point = mCirclePoints.get(i);
float radius = mCircleRadiusArray.get(i, (float) mMinRadius);
mPaint.setColor(ArgbEvaluatorHolder.eval((radius - mMinRadius) / (mMaxRadius - mMinRadius), mNormalCircleColor, mSelectedCircleColor));
canvas.drawCircle(point.x, getHeight() / 2.0f, radius, mPaint);
}
}
TouchImageView.java 文件源码
项目:AndroidBackendlessChat
阅读 37
收藏 0
点赞 0
评论 0
/**
* Inverse of transformCoordTouchToBitmap. This function will transform the coordinates in the
* drawable's coordinate system to the view's coordinate system.
* @param bx x-coordinate in original bitmap coordinate system
* @param by y-coordinate in original bitmap coordinate system
* @return Coordinates of the point in the view's coordinate system.
*/
private PointF transformCoordBitmapToTouch(float bx, float by) {
matrix.getValues(m);
float origW = getDrawable().getIntrinsicWidth();
float origH = getDrawable().getIntrinsicHeight();
float px = bx / origW;
float py = by / origH;
float finalX = m[Matrix.MTRANS_X] + getImageWidth() * px;
float finalY = m[Matrix.MTRANS_Y] + getImageHeight() * py;
return new PointF(finalX , finalY);
}
MotionEntity.java 文件源码
项目:PeSanKita-android
阅读 31
收藏 0
点赞 0
评论 0
public PointF absoluteCenter() {
float topLeftX = layer.getX() * canvasWidth;
float topLeftY = layer.getY() * canvasHeight;
float centerX = topLeftX + getWidth() * holyScale * 0.5F;
float centerY = topLeftY + getHeight() * holyScale * 0.5F;
return new PointF(centerX, centerY);
}
DrawMultiTriangleNet.java 文件源码
项目:Fatigue-Detection
阅读 23
收藏 0
点赞 0
评论 0
PointF a(float paramFloat1, float paramFloat2, float[] paramArrayOfFloat)
{
PointF localPointF = new PointF();
localPointF.x = (paramArrayOfFloat[0] * paramFloat1 + paramArrayOfFloat[1] * paramFloat2 + paramArrayOfFloat[2]);
localPointF.y = (paramArrayOfFloat[3] * paramFloat1 + paramArrayOfFloat[4] * paramFloat2 + paramArrayOfFloat[5]);
return localPointF;
}
HDImageView.java 文件源码
项目:HDImageView
阅读 29
收藏 0
点赞 0
评论 0
private PointF getTranslateForSourceCenter(float sourceCenterX, float sourceCenterY, float scale){
int vxCenter = (getPaddingLeft() + getWidth() - getPaddingRight())/2;
int vyCenter = (getPaddingTop() + getHeight() - getPaddingBottom())/2;
mSatTemp.mScale = scale;
mSatTemp.mViewTranslate.set(vxCenter - sourceCenterX*scale,vyCenter-sourceCenterY*scale);
fitToBounds(true,mSatTemp);
return mSatTemp.mViewTranslate;
}