Skip to content

Commit

Permalink
Rename to cookie-cutter
Browse files Browse the repository at this point in the history
  • Loading branch information
adamstyrc committed May 1, 2016
1 parent 7f4cbb6 commit 4195d2e
Show file tree
Hide file tree
Showing 21 changed files with 66 additions and 66 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Biscuit
# cookie-cutter
Android library to crop images by moving & scaling image.

![alt tag](https://github.com/adamstyrc/cookie-cutter/blob/master/logo.jpeg)
Expand All @@ -12,11 +12,11 @@ Demo:
Usage:
--------

Add **BiscuitImageView** to your layout:
Add **CookieCutterImageView** to your layout:

```
<com.adamstyrc.biscuit.BiscuitImageView
android:id="@+id/ivBiscuit"
<com.adamstyrc.cookiecutter.CookieCutterImageView
android:id="@+id/ivCookieCutter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/your_image"/>
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.app.Application;
import android.test.ApplicationTestCase;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.adamstyrc.biscuit">
package="com.adamstyrc.cookiecutter">

<application
android:allowBackup="true"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

/**
* Created by adamstyrc on 01/04/16.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.annotation.TargetApi;
import android.content.Context;
Expand All @@ -17,29 +17,29 @@
/**
* Created by adamstyrc on 31/03/16.
*/
public class BiscuitImageView extends ImageView {
public class CookieCutterImageView extends ImageView {

private BiscuitParams biscuitParams;
private CookieCutterParams cookieCutterParams;

public BiscuitImageView(Context context) {
public CookieCutterImageView(Context context) {
super(context);
init();
}

public BiscuitImageView(Context context, AttributeSet attrs) {
public CookieCutterImageView(Context context, AttributeSet attrs) {
super(context, attrs);

init();
}

public BiscuitImageView(Context context, AttributeSet attrs, int defStyleAttr) {
public CookieCutterImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);

init();
}

@TargetApi(value = 21)
public BiscuitImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
public CookieCutterImageView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);

init();
Expand All @@ -48,16 +48,16 @@ public BiscuitImageView(Context context, AttributeSet attrs, int defStyleAttr, i
public void init() {
setScaleType(ScaleType.MATRIX);

biscuitParams = new BiscuitParams();
cookieCutterParams = new CookieCutterParams();

ViewTreeObserver vto = getViewTreeObserver();
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
getViewTreeObserver().removeGlobalOnLayoutListener(this);
biscuitParams.updateWithView(getWidth(), getHeight());
cookieCutterParams.updateWithView(getWidth(), getHeight());
setImageCentered();
setOnTouchListener(new BiscuitTouchListener(biscuitParams, getImageMatrix()));
setOnTouchListener(new CookieCutterTouchListener(cookieCutterParams, getImageMatrix()));
}
});
}
Expand All @@ -66,10 +66,10 @@ private void setImageCentered() {
Matrix matrix = getImageMatrix();
Bitmap bitmap = getBitmap();

if (bitmap != null && biscuitParams.getCircle() != null) {
if (bitmap != null && cookieCutterParams.getCircle() != null) {
RectF drawableRect = new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight());

Circle circle = biscuitParams.getCircle();
Circle circle = cookieCutterParams.getCircle();
RectF viewRect;
if (bitmap.getWidth() > bitmap.getHeight()) {
float scale = (float) circle.getDiameter() / bitmap.getHeight();
Expand All @@ -91,27 +91,27 @@ private void setImageCentered() {
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

Circle circle = biscuitParams.getCircle();
Circle circle = cookieCutterParams.getCircle();
if (circle == null) {
return;
}

Paint paint;
switch (biscuitParams.getShape()) {
switch (cookieCutterParams.getShape()) {
case CIRCLE:
paint = biscuitParams.getCircleParams().paint;
paint = cookieCutterParams.getCircleParams().paint;
canvas.drawCircle(circle.getCx(), circle.getCy(), circle.getRadius(), paint);
break;

case HOLE:
BiscuitParams.HoleParams hole = biscuitParams.getHoleParams();
CookieCutterParams.HoleParams hole = cookieCutterParams.getHoleParams();
paint = hole.paint;
Path path = hole.path;
canvas.drawPath(path, paint);
break;

case SQUARE:
paint = biscuitParams.getSquareParams().paint;
paint = cookieCutterParams.getSquareParams().paint;
canvas.drawRect(circle.getLeftBound(), circle.getTopBound(), circle.getRightBound(), circle.getBottomBound(), paint);
break;
}
Expand All @@ -132,15 +132,15 @@ public void setImageBitmap(Bitmap bm) {

setImageCentered();

setOnTouchListener(new BiscuitTouchListener(biscuitParams, getImageMatrix()));
setOnTouchListener(new CookieCutterTouchListener(cookieCutterParams, getImageMatrix()));
}

public Bitmap getCroppedBitmap() {
Matrix matrix = getImageMatrix();

MatrixParams matrixParams = MatrixParams.fromMatrix(matrix);
Bitmap bitmap = getBitmap();
Circle circle = biscuitParams.getCircle();
Circle circle = cookieCutterParams.getCircle();

int size = (int) (circle.getDiameter() / matrixParams.getScaleWidth());
size -= 1;
Expand All @@ -157,8 +157,8 @@ public Bitmap getCroppedBitmap() {
return croppedBitmap;
}

public BiscuitParams getBiscuitParams() {
return biscuitParams;
public CookieCutterParams getParams() {
return cookieCutterParams;
}

private Bitmap getBitmap() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.graphics.Color;
import android.graphics.Paint;
Expand All @@ -7,13 +7,13 @@
/**
* Created by adamstyrc on 04/04/16.
*/
public class BiscuitParams {
public class CookieCutterParams {

private int circleRadius = 400;
private Circle circle;
private float maxZoom = 4;
private int minImageSize = 200;
private BiscuitShape shape = BiscuitShape.HOLE;
private CookieCutterShape shape = CookieCutterShape.HOLE;

private int width;
private int height;
Expand Down Expand Up @@ -51,11 +51,11 @@ public void setMinImageSize(int minImageSize) {
this.minImageSize = minImageSize;
}

public void setShape(BiscuitShape shape) {
public void setShape(CookieCutterShape shape) {
this.shape = shape;
}

public BiscuitShape getShape() {
public CookieCutterShape getShape() {
return shape;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

/**
* Created by adamstyrc on 05/04/16.
*/
public enum BiscuitShape {
public enum CookieCutterShape {

CIRCLE,
HOLE,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.graphics.Matrix;
import android.graphics.PointF;
Expand All @@ -9,12 +9,12 @@
/**
* Created by adamstyrc on 31/03/16.
*/
public class BiscuitTouchListener implements View.OnTouchListener {
public class CookieCutterTouchListener implements View.OnTouchListener {

private final Circle circle;
private Mode mode = Mode.NONE;

private BiscuitParams biscuitParams;
private CookieCutterParams cookieCutterParams;

Matrix matrix = new Matrix();
Matrix savedMatrix = new Matrix();
Expand All @@ -23,9 +23,9 @@ public class BiscuitTouchListener implements View.OnTouchListener {
PointF scaleCenterPoint = new PointF();
float fingersDistance = 1f;

public BiscuitTouchListener(BiscuitParams biscuitParams, Matrix matrix) {
this.biscuitParams = biscuitParams;
circle = biscuitParams.getCircle();
public CookieCutterTouchListener(CookieCutterParams cookieCutterParams, Matrix matrix) {
this.cookieCutterParams = cookieCutterParams;
circle = cookieCutterParams.getCircle();

this.matrix.set(matrix);
this.savedMatrix.set(matrix);
Expand Down Expand Up @@ -110,14 +110,14 @@ private void onImageScaled(ImageView view, float newDist) {
}

float currentScale = scale * matrixParams.getScaleWidth();
if (currentScale > biscuitParams.getMaxZoom()) {
scale = biscuitParams.getMaxZoom() / matrixParams.getScaleWidth();
if (currentScale > cookieCutterParams.getMaxZoom()) {
scale = cookieCutterParams.getMaxZoom() / matrixParams.getScaleWidth();
}

float croppedImageSize = circle.getDiameter() / currentScale;
Logger.log("croppedImageSize: " + croppedImageSize);
if (croppedImageSize < biscuitParams.getMinImageSize()) {
scale = circle.getDiameter() / biscuitParams.getMinImageSize() / matrixParams.getScaleWidth();
if (croppedImageSize < cookieCutterParams.getMinImageSize()) {
scale = circle.getDiameter() / cookieCutterParams.getMinImageSize() / matrixParams.getScaleWidth();
}

matrix.set(savedMatrix);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.graphics.Bitmap;
import android.graphics.Canvas;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.util.Log;

Expand All @@ -12,7 +12,7 @@ public class Logger {

public static void log(String message) {
if (BuildConfig.DEBUG || sEnabled) {
Log.d("Biscuit", message);
Log.d("cookie-cutter", message);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.adamstyrc.biscuit;
package com.adamstyrc.cookiecutter;

import android.graphics.Matrix;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
android:layout_height="match_parent"
android:background="@android:color/black">

<com.adamstyrc.biscuit.BiscuitImageView
<com.adamstyrc.cookiecutter.CookieCutterImageView
android:id="@+id/ivCrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<resources>
<string name="app_name">Biscuit</string>
<string name="app_name">cookie-cutter</string>
<string name="move_scale_your_photo"><![CDATA[Move & scale your photo]]></string>
</resources>
4 changes: 2 additions & 2 deletions example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ android {
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "com.adamstyrc.biscuit"
applicationId "com.adamstyrc.cookiecutter"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
Expand All @@ -20,7 +20,7 @@ android {
}

dependencies {
compile project(':biscuitlib')
compile project(':cookie-cutter')
// compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
Expand Down
18 changes: 9 additions & 9 deletions example/src/main/java/com/adamstyrc/example/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,21 @@
import android.view.Menu;
import android.view.MenuItem;

import com.adamstyrc.biscuit.BiscuitImageView;
import com.adamstyrc.biscuit.BiscuitShape;
import com.adamstyrc.biscuit.ImageUtils;
import com.adamstyrc.biscuit.Logger;
import com.adamstyrc.cookiecutter.CookieCutterImageView;
import com.adamstyrc.cookiecutter.CookieCutterShape;
import com.adamstyrc.cookiecutter.ImageUtils;
import com.adamstyrc.cookiecutter.Logger;

public class MainActivity extends AppCompatActivity {

BiscuitImageView ivCrop;
CookieCutterImageView ivCrop;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ivCrop = (BiscuitImageView) findViewById(R.id.ivBiscuit);
ivCrop = (CookieCutterImageView) findViewById(R.id.ivCookieCutter);
}

@Override
Expand All @@ -49,13 +49,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
choosePhotoFromGallery();
break;
case 2:
ivCrop.getBiscuitParams().setShape(BiscuitShape.CIRCLE);
ivCrop.getParams().setShape(CookieCutterShape.CIRCLE);
break;
case 3:
ivCrop.getBiscuitParams().setShape(BiscuitShape.HOLE);
ivCrop.getParams().setShape(CookieCutterShape.HOLE);
break;
case 4:
ivCrop.getBiscuitParams().setShape(BiscuitShape.SQUARE);
ivCrop.getParams().setShape(CookieCutterShape.SQUARE);
break;

}
Expand Down
4 changes: 2 additions & 2 deletions example/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
android:layout_height="match_parent"
android:background="@android:color/black">

<com.adamstyrc.biscuit.BiscuitImageView
android:id="@+id/ivBiscuit"
<com.adamstyrc.cookiecutter.CookieCutterImageView
android:id="@+id/ivCookieCutter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/img3"/>
Expand Down
2 changes: 1 addition & 1 deletion example/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<resources>
<string name="app_name">BiscuitExcample</string>
<string name="app_name">cookie-cutter</string>
</resources>
Loading

0 comments on commit 4195d2e

Please sign in to comment.