aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleApp.cpp
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-11-23 21:07:51 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2009-11-23 21:07:51 +0000
commit4417740a480786ca65379ba5b398c500ba34ee18 (patch)
tree1a261f93f6270078dbf165c73616aaf9bdb1570f /samplecode/SampleApp.cpp
parente522ca5d5f249bd51a00cb68bb051f811d0a9e85 (diff)
add SampleCode::GetAnimTime() so slides go through a central location for
animation timing. This allows us to "freeze" time in order to do things like draw multiple times to test clipping. git-svn-id: http://skia.googlecode.com/svn/trunk@444 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleApp.cpp')
-rw-r--r--samplecode/SampleApp.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 2d0da1f71b..8fcdfa8715 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -6,6 +6,7 @@
#include "SkPaint.h"
#include "SkPicture.h"
#include "SkStream.h"
+#include "SkTime.h"
#include "SkWindow.h"
#include "SampleCode.h"
@@ -121,6 +122,18 @@ void SampleCode::PrefSizeR(SkEvent* evt, SkScalar width, SkScalar height) {
evt->setScalars(gPrefSizeEvtName, 2, size);
}
+static SkMSec gAnimTime;
+SkMSec SampleCode::GetAnimTime() { return gAnimTime; }
+
+SkScalar SampleCode::GetAnimScalar(SkScalar speed, SkScalar period) {
+ SkScalar seconds = SkFloatToScalar(gAnimTime / 1000.0f);
+ SkScalar value = SkScalarMul(speed, seconds);
+ if (period) {
+ value = SkScalarMod(value, period);
+ }
+ return value;
+}
+
//////////////////////////////////////////////////////////////////////////////
class SampleWindow : public SkOSWindow {
@@ -241,10 +254,13 @@ SampleWindow::~SampleWindow() {
delete fGLCanvas;
}
-#define XCLIP_N 4
-#define YCLIP_N 1
+#define XCLIP_N 8
+#define YCLIP_N 8
void SampleWindow::draw(SkCanvas* canvas) {
+ // update the animation time
+ gAnimTime = SkTime::GetMSecs();
+
if (fNClip) {
// this->INHERITED::draw(canvas);
// SkBitmap orig = capture_bitmap(canvas);