Another CKFrameworks Teaser

March 9th, 2008 by Joe Ranieri

I spent a bit of time this weekend working on CKFrameworks, so I figured I’d give another teaser. This time I’ll show off the CFType support…

// load our bundle
dim myFile as FolderItem = desktopFolder.child( "test.ape" )
dim bundle as CFTypeRef = CKFrameworks.CFBundleCreate( myFile )
 
// do some random stuff with it
bundle.loadExecutable()
msgbox( bundle.identifier )

Or perhaps you want to get time zone information:

dim timezone as CFTypeRef = CKFrameworks.CFTimeZoneCreateWithName( "EST", true )
msgbox( timezone.name )

As you can see, this is all pure magic. I’m hoping to have an alpha to show at REAL World, so be there or miss out.


Holiday Teaser 3: Revenge of the Teaser

December 20th, 2007 by Joe Ranieri

In one alpha of REALbasic 2006r1, a feature made a brief appearance but was pulled from the next build — and hasn’t been seen since. We might have something to bridge the gap…

Edit:

You were all right — we are working on a Cocoa bridge and framework!


Holiday Teaser 2: Fast and Pretty Graphics

December 18th, 2007 by Jonathan Johnson

If someone asked me to state what I dislike about REALbasic’s Graphics API, I would state:

  • It can’t be extended/overridden for different output devices (ie, a PDFGraphicsContext)
  • The API is structured around ancient QuickDraw philosophies, not around modern CoreGraphics/GDI+ apis.
  • It’s much slower on OS X than it needs to be.
  • Does not support CoreText.
  • The TextFont/Bold/Italic properties don’t offer much flexibility for fonts, and don’t support all of the fonts on the system.
  • Rotation/alpha/scaling are related to Object2D, and can’t be performed independently.
  • Rotation doesn’t work when printing on all platforms.
  • Curve drawing is limited to Object2D.
  • Subpixel rendering is not available outside of Object2D.
  • Object2D has a funky way of handling positions, rotations, and scales (feel free to ask me more about this if you disagree; it should be its own post).
  • It doesn’t work in console applications.

Well, what we have coming up solves all except the last item (at least initially).

Salivation: begin.


Holiday Teaser 1: ESTO

December 13th, 2007 by Jonathan Johnson

It’s hard to write a teaser about this upcoming project, code named ESTO, so I’ll do more showing than telling. Let’s start with a vanilla REALbasic window, and add a multiline field to it:

Now, add about ten lines of code and hit Run:

If you’re interested in guessing how we did it, you can download the data source for the above rendering. And lastly, I would like to point out that this compiles and runs on Windows also.

Update: After some more sleep…

We’ve realized how lame our joke with the “data source” being empty was. We originally thought it would add to the mystique showing we didn’t have a data source by showing an empty zip file. Unfortunately, the joke’s on us because it just made it look like we messed up.

For the record, all of the fields contents were created in code. :)


Holiday Teaser 0: CKFrameworks

December 11th, 2007 by Joe Ranieri

To start off our teasing, I’ve decided to show off something neat that I’ve been working on.

Function Thumbnail(extends file as FolderItem) as Picture
  // import QuickLook into the CKFrameworks namespace
  CKFrameworks.import("QuickLook")
 
  // set up our options
  dim options as new Dictionary()
  options.value(CKFrameworks.kQLThumbnailOptionIconModeKey) = true
 
  // and grab the thumbnail
  return CKFrameworks.QLThumbnailImageCreate(CKFrameworks.kCFAllocatorDefault, _
    file, CKFrameworks.CGSizeMake(width, height), options).rbValue
End Function

You might be asking yourself, why is this impressive? Well, it’s impressive because it’s all looked up at runtime (and type checked!). All the code you see is all the code there is - no declares or mucking around with CFBundles :-) .

Mind you this wasn’t my actual goal (it’s part of something far bigger and far cooler) but I thought it was cool. Let the speculation begin!


Announcing Teaser Tuesdays and Thursdays

December 11th, 2007 by Jonathan Johnson

Christmas is nigh, and a lot of other software companies are running sales or promotions to try to get you to buy their products. A discount is considered giving in this day and age, but we think that’s wrong. We’re here to give you something of substance.

But before we give our gift out, we must raise spirits. We’ve been working hard on several projects that will be released early in 2008. These projects we are very excited about. So starting later today, we will being posting a teaser for these projects on each Tuesday and Thursday until Christmas day.

On Christmas day, we will deliver our gift by unveiling a new section of our site called the “Toybox.” In it will be several toys for everyone to play with. A toy is a project that we think is very cool and should be free to everyone.

Happy holidays!