dPompa Blog

Ease In?

So I’m looking for a good ease in timing function. Anyone know any?

Matalot featured in The Daily App Show

Matalot has been featured in The Daily App Show! If you’re looking for a video review or just feel like seeing your favorite ToDo manager in public, go check it out in full size!

Oh, and don’t forget to download it :)

A presentation at iDigital

About two weeks ago I got a call from Roey, asking if I’d like to give a presentation about iPhone development. Obviously I agreed immediately. I chose to talk about CoreLocation, MapKit and CoreAnimation. These are a few technologies which, in my opinion, Apple designed and built very well. They make the iPhone a very fun development environment, and allows everyone to produce stunning apps with very little effort.

For those of you who don’t know Roey, he’s one of the better guys at iDigital, Apple’s reseller at Israel. The presentation took place at their store at Dizengoff Center (Tel Aviv).

Pictures are available from Picasa, and a PDF of the presentation, together with the sample code used in it is available here.

I’d like to send a big thank you to the guys at Apple who wrote the replicator demo, and Joe Ricioppo for writing another awesome demo of CAReplicatorDemo.

Matalot 1.01

It’s been a while since the initial release of Matalot, and we have plenty of killer features in development. Meanwhile, we submitted a minor update with the following changes:
- Improved swipe to complete
- Some visual bug fixes
- Ads in the lite version

and this hot new icon designed by David Forgash

New icon for Matalot

Update: CG round rect

In my previous post about round rects in Quartz/CoreGraphics I posted a function I’m constantly using for drawing round rects. Today I found a bug in it. Apparently, all the round rects I drew were placed at 0,0 and so I never stumbled on the bug. Here’s a fixed version of the function:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void DPContextAddRoundRect(CGContextRef context, CGRect rect, CGFloat cornerRad) {
	// Top Left
	CGContextMoveToPoint(context, rect.origin.x, cornerRad);
	CGContextAddArcToPoint(context,
                               rect.origin.x,
                               rect.origin.y,
                               rect.origin.x + cornerRad,
                               rect.origin.y,
                               cornerRad);
	// Top right
	CGContextAddArcToPoint(context,
                               rect.origin.x + rect.size.width,
                               rect.origin.y,
                               rect.origin.x + rect.size.width,
                               rect.origin.x + cornerRad,
                               cornerRad);
	// Bottom right
	CGContextAddArcToPoint(context,
                               rect.origin.x + rect.size.width,
                               rect.origin.y + rect.size.height,
                               rect.origin.x + rect.size.width - cornerRad,
                               rect.origin.y + rect.size.height,
                               cornerRad);
	// Bottom left
	CGContextAddArcToPoint(context,
                               rect.origin.x,
                               rect.origin.y + rect.size.height,
                               rect.origin.x,
                               rect.origin.y,
                               cornerRad);
	CGContextClosePath(context);
}