Skip to content

Commit 81b3835

Browse files
authored
Merge pull request #9 from BitooBit/develop
Develop
2 parents 0094451 + feb7b4b commit 81b3835

28 files changed

Lines changed: 424 additions & 294 deletions
-854 KB
Binary file not shown.
861 KB
Binary file not shown.

src/BitooBitImageEditor.IOS/BitooBitImageEditor.IOS.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
</ItemGroup>
4343
<ItemGroup>
4444
<Compile Include="ImageHelper.cs" />
45+
<Compile Include="IOSHapticFeedback.cs" />
4546
<Compile Include="Platform.cs" />
4647
<Compile Include="PlatformHelper.cs" />
4748
<Compile Include="Properties\AssemblyInfo.cs" />
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using System;
2+
using BitooBitImageEditor.Helper;
3+
using BitooBitImageEditor.IOS;
4+
using UIKit;
5+
using Xamarin.Essentials;
6+
using Xamarin.Forms;
7+
8+
[assembly: Dependency(typeof(IOSHapticFeedback))]
9+
namespace BitooBitImageEditor.IOS
10+
{
11+
class IOSHapticFeedback : IHapticFeedback
12+
{
13+
public void Excute()
14+
{
15+
if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
16+
{
17+
var impact = new UIImpactFeedbackGenerator(UIImpactFeedbackStyle.Light);
18+
impact.Prepare();
19+
impact.ImpactOccurred();
20+
impact.Dispose();
21+
}
22+
else
23+
Vibration.Vibrate();
24+
}
25+
}
26+
}

src/BitooBitImageEditor/BitooBitImageEditor.xml

Lines changed: 13 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/BitooBitImageEditor/Croping/CropItem.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,13 @@ public CropItem(string imageName, CropRotateType action)
1414
public string ImageName { get; set; }
1515
public CropRotateType Action { get; set; }
1616

17-
1817
internal static ObservableCollection<CropItem> GetCropItems(bool IsAddAllElements)
1918
{
20-
var collect = new ObservableCollection<CropItem>
21-
{
22-
new CropItem("rotate_right", CropRotateType.CropRotate)
23-
,new CropItem("crop_full", CropRotateType.CropFull)
24-
};
19+
var collect = new ObservableCollection<CropItem> { new CropItem("rotate_right", CropRotateType.CropRotate) };
2520

2621
if (IsAddAllElements)
2722
{
23+
collect.Add(new CropItem("crop_full", CropRotateType.CropFull));
2824
collect.Add(new CropItem("crop_free", CropRotateType.CropFree));
2925
collect.Add(new CropItem("crop_square", CropRotateType.CropSquare));
3026
collect.Add(new CropItem("2_3", CropRotateType.Crop2_3));

src/BitooBitImageEditor/Croping/CroppingRectangle.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,7 @@ internal bool TestPointInsideSquare(SKPoint pixelLocation)
5555
SKPoint[] corners = Corners;
5656
float X = pixelLocation.X, Y = pixelLocation.Y;
5757
if (Corners[0].X < X && corners[2].X > X && corners[0].Y < Y && Corners[2].Y > Y)
58-
{
5958
rezult = true;
60-
}
61-
6259
return rezult;
6360
}
6461

src/BitooBitImageEditor/Croping/ImageCropperCanvasView.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ protected override void OnPaintSurface(SKPaintSurfaceEventArgs args)
158158
SKSurface surface = args.Surface;
159159
SKCanvas canvas = surface.Canvas;
160160

161-
canvas.Clear();
161+
canvas.Clear(SkiaHelper.backgroundColor);
162162

163163
// Calculate rectangle for displaying bitmap
164164
var rect = SkiaHelper.CalculateRectangle(new SKRect(0, 0, info.Width, info.Height), bitmap);
@@ -218,13 +218,14 @@ private void Rotate()
218218
{
219219
var rotatedBitmap = new SKBitmap(bitmap.Height, bitmap.Width);
220220

221-
using (var surface = new SKCanvas(rotatedBitmap))
221+
using (var canvas = new SKCanvas(rotatedBitmap))
222222
{
223-
surface.Translate(rotatedBitmap.Width, 0);
224-
surface.RotateDegrees(90);
225-
surface.DrawBitmap(bitmap, 0, 0);
223+
canvas.Translate(rotatedBitmap.Width, 0);
224+
canvas.RotateDegrees(90);
225+
canvas.DrawBitmap(bitmap, 0, 0);
226226
}
227227

228+
bitmap.Dispose();
228229
bitmap = rotatedBitmap;
229230

230231
SetAspectRatio(aspectRatio);
@@ -247,12 +248,14 @@ protected virtual void Dispose(bool disposing)
247248
if (disposing)
248249
{
249250
aspectRatio = null;
251+
touchPoints?.Clear();
250252
touchPoints = null;
253+
touchPointsInside?.Clear();
251254
touchPointsInside = null;
252255
}
253256

254-
((IDisposable)bitmap).Dispose();
255-
257+
bitmap?.Dispose();
258+
bitmap = null;
256259
disposedValue = true;
257260
}
258261
}

0 commit comments

Comments
 (0)