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
diff --git a/gyp/SampleApp.gyp b/gyp/SampleApp.gyp
index f49499a..0b2e4ca 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 57e3dbd..09742a0 100644
--- a/samplecode/SampleAnimator.cpp
+++ b/samplecode/SampleAnimator.cpp
@@ -127,8 +127,8 @@
 #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 9ae56ce..0000000
--- 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 c54a8a3..91dcada 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 5ae7ad5..87c2727 100644
--- a/src/utils/mac/SkNSView.h
+++ b/src/utils/mac/SkNSView.h
@@ -35,6 +35,7 @@
 
 - (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 8e9e30f..c498bf5 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 @@
     }
 }
 
+- (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) {