aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar suyang1 <suyang1@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-10-10 16:38:58 +0000
committerGravatar suyang1 <suyang1@2bbb7eff-a529-9590-31e7-b0007b416f81>2011-10-10 16:38:58 +0000
commitbb3f4a8d0a58a8857050a7b6a907b190d261681d (patch)
tree38a61a9a6712e273f594fc6b8ff6c351d8f97a9a
parent719fd045abb1f26f99cf35708413886b9eafcc1e (diff)
Bug fixes:
- Mac SampleApp resize and maximize bug - Mac SampleApp now accepts/dispatches mouse moved events - SampleAnimator: moved drawColor outside so the sample draws a background every drawing call - Removed SampleExtractAlpha from the repository and SampleApp.gyp http://codereview.appspot.com/5249054/ git-svn-id: http://skia.googlecode.com/svn/trunk@2448 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--gyp/SampleApp.gyp1
-rw-r--r--samplecode/SampleAnimator.cpp2
-rw-r--r--samplecode/SampleExtractAlpha.cpp97
-rw-r--r--src/utils/mac/SampleAppDelegate.mm1
-rw-r--r--src/utils/mac/SkNSView.h1
-rw-r--r--src/utils/mac/SkNSView.mm28
6 files changed, 22 insertions, 108 deletions
diff --git a/gyp/SampleApp.gyp b/gyp/SampleApp.gyp
index f49499a627..0b2e4cae26 100644
--- a/gyp/SampleApp.gyp
+++ b/gyp/SampleApp.gyp
@@ -65,7 +65,6 @@
'../samplecode/SampleEmboss.cpp',
'../samplecode/SampleEmptyPath.cpp',
'../samplecode/SampleEncode.cpp',
- '../samplecode/SampleExtractAlpha.cpp',
'../samplecode/SampleFillType.cpp',
'../samplecode/SampleFilter.cpp',
'../samplecode/SampleFilter2.cpp',
diff --git a/samplecode/SampleAnimator.cpp b/samplecode/SampleAnimator.cpp
index 57e3dbde44..09742a01bf 100644
--- a/samplecode/SampleAnimator.cpp
+++ b/samplecode/SampleAnimator.cpp
@@ -127,8 +127,8 @@ bool SkAnimatorView::decodeStream(SkStream* stream) {
#include "SkTime.h"
void SkAnimatorView::onDraw(SkCanvas* canvas) {
+ canvas->drawColor(SK_ColorWHITE);
if (fAnimator) {
- canvas->drawColor(SK_ColorWHITE);
fAnimator->draw(canvas, 0);
#if 0
canvas->save();
diff --git a/samplecode/SampleExtractAlpha.cpp b/samplecode/SampleExtractAlpha.cpp
deleted file mode 100644
index 9ae56ce40f..0000000000
--- a/samplecode/SampleExtractAlpha.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SampleCode.h"
-#include "SkColorPriv.h"
-#include "SkGradientShader.h"
-#include "SkView.h"
-#include "SkCanvas.h"
-#include "SkUtils.h"
-
-static SkBitmap make_bitmap() {
- SkBitmap bm;
- SkColorTable* ctable = new SkColorTable(256);
-
- SkPMColor* c = ctable->lockColors();
- for (int i = 0; i < 256; i++) {
- c[i] = SkPackARGB32(255 - i, 0, 0, 0);
- }
- ctable->unlockColors(true);
- bm.setConfig(SkBitmap::kIndex8_Config, 256, 256);
- bm.allocPixels(ctable);
- ctable->unref();
-
- bm.lockPixels();
- const float cx = bm.width() * 0.5f;
- const float cy = bm.height() * 0.5f;
- for (int y = 0; y < bm.height(); y++) {
- float dy = y - cy;
- dy *= dy;
- uint8_t* p = bm.getAddr8(0, y);
- for (int x = 0; x < 256; x++) {
- float dx = x - cx;
- dx *= dx;
- float d = (dx + dy) / (cx/2);
- int id = (int)d;
- if (id > 255) {
- id = 255;
- }
- p[x] = id;
- }
- }
- bm.unlockPixels();
- return bm;
-}
-
-class ExtractAlphaView : public SampleView {
- SkBitmap fBM8;
- SkBitmap fBM32;
- SkBitmap fBM4;
-public:
- ExtractAlphaView() {
- fBM8 = make_bitmap();
- fBM8.copyTo(&fBM32, SkBitmap::kARGB_8888_Config);
- fBM8.copyTo(&fBM4, SkBitmap::kARGB_4444_Config);
-
- this->setBGColor(0xFFDDDDDD);
- }
-
-protected:
- // overrides from SkEventSink
- virtual bool onQuery(SkEvent* evt) {
- if (SampleCode::TitleQ(*evt)) {
- SampleCode::TitleR(evt, "DitherBitmap");
- return true;
- }
- return this->INHERITED::onQuery(evt);
- }
-
- virtual void onDrawContent(SkCanvas* canvas) {
- SkPaint paint;
- paint.setAntiAlias(true);
- paint.setStyle(SkPaint::kStroke_Style);
-
- SkMatrix matrix;
- matrix.setScale(3.55f, 80.f);
- canvas->setMatrix(matrix);
-
- paint.setStrokeWidth(0.0588f);
- canvas->drawLine(10, 5, 30, 4.8f, paint);
-
- paint.setStrokeWidth(0.06f);
- canvas->drawLine(20, 5, 40, 4.8f, paint);
- }
-
-private:
- typedef SampleView INHERITED;
-};
-
-//////////////////////////////////////////////////////////////////////////////
-
-static SkView* MyFactory() { return new ExtractAlphaView; }
-static SkViewRegister reg(MyFactory);
-
diff --git a/src/utils/mac/SampleAppDelegate.mm b/src/utils/mac/SampleAppDelegate.mm
index c54a8a30cf..91dcada888 100644
--- a/src/utils/mac/SampleAppDelegate.mm
+++ b/src/utils/mac/SampleAppDelegate.mm
@@ -5,6 +5,7 @@
-(void) applicationDidFinishLaunching:(NSNotification *)aNotification {
//Load specified skia views after launching
fView.fOptionsDelegate = fOptions;
+ [fWindow setAcceptsMouseMovedEvents:YES];
[fOptions registerMenus:fView.fWind->getMenus()];
}
diff --git a/src/utils/mac/SkNSView.h b/src/utils/mac/SkNSView.h
index 5ae7ad5833..87c2727d18 100644
--- a/src/utils/mac/SkNSView.h
+++ b/src/utils/mac/SkNSView.h
@@ -35,6 +35,7 @@ class SkEvent;
- (id)initWithDefaults;
- (void)setUpWindow;
+- (void)resizeSkView:(NSSize)newSize;
- (void)setSkTitle:(const char*)title;
- (void)onAddMenu:(const SkOSMenu*)menu;
- (void)onUpdateMenu:(const SkOSMenu*)menu;
diff --git a/src/utils/mac/SkNSView.mm b/src/utils/mac/SkNSView.mm
index 8e9e30f7dc..c498bf5f09 100644
--- a/src/utils/mac/SkNSView.mm
+++ b/src/utils/mac/SkNSView.mm
@@ -53,17 +53,19 @@
return YES;
}
-- (void)viewDidEndLiveResize {
- NSSize s = [self frame].size;
- if (NULL != fWind && fWind->width() != s.width && fWind->height() != s.height) {
- fWind->resize(s.width, s.height);
- if (nil != fGLContext) {
- [fGLContext update];
- glClear(GL_STENCIL_BUFFER_BIT);
- }
+- (void)resizeSkView:(NSSize)newSize {
+ if (NULL != fWind && (fWind->width() != newSize.width || fWind->height() != newSize.height)) {
+ fWind->resize(newSize.width, newSize.height);
+ glClear(GL_STENCIL_BUFFER_BIT);
+ [fGLContext update];
}
}
+- (void) setFrameSize:(NSSize)newSize {
+ [super setFrameSize:newSize];
+ [self resizeSkView:newSize];
+}
+
- (void)dealloc {
delete fWind;
self.fGLContext = nil;
@@ -71,7 +73,7 @@
[super dealloc];
}
-/////////////////////////////////////////////0//////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
- (void)drawSkia {
fRedrawRequestPending = false;
@@ -204,6 +206,14 @@ static SkKey raw2key(UInt32 raw)
}
}
+- (void)mouseMoved:(NSEvent *)event {
+ NSPoint p = [event locationInWindow];
+ if ([self mouse:p inRect:[self bounds]] && NULL != fWind) {
+ NSPoint loc = [self convertPoint:p fromView:nil];
+ fWind->handleClick(loc.x, loc.y, SkView::Click::kMoved_State, self);
+ }
+}
+
- (void)mouseUp:(NSEvent *)event {
NSPoint p = [event locationInWindow];
if ([self mouse:p inRect:[self bounds]] && NULL != fWind) {