aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/SkBGViewArtist.cpp8
-rw-r--r--src/views/SkEvent.cpp30
-rw-r--r--src/views/SkEventSink.cpp4
-rw-r--r--src/views/SkOSMenu.cpp20
-rw-r--r--src/views/SkParsePaint.cpp178
-rw-r--r--src/views/SkProgressView.cpp170
-rw-r--r--src/views/SkStackViewLayout.cpp340
-rw-r--r--src/views/SkTextBox.cpp2
-rw-r--r--src/views/SkTouchGesture.cpp4
-rw-r--r--src/views/SkView.cpp74
-rw-r--r--src/views/SkViewInflate.cpp184
-rw-r--r--src/views/SkViewPriv.cpp98
-rw-r--r--src/views/SkViewPriv.h48
-rw-r--r--src/views/SkWidget.cpp386
-rw-r--r--src/views/SkWidgets.cpp550
-rw-r--r--src/views/SkWindow.cpp270
-rw-r--r--src/views/animated/SkBorderView.cpp104
-rw-r--r--src/views/animated/SkImageView.cpp424
-rw-r--r--src/views/animated/SkListView.cpp1296
-rw-r--r--src/views/animated/SkListWidget.cpp972
-rw-r--r--src/views/animated/SkProgressBarView.cpp124
-rw-r--r--src/views/animated/SkScrollBarView.cpp184
-rw-r--r--src/views/animated/SkStaticTextView.cpp184
-rw-r--r--src/views/animated/SkWidgetViews.cpp70
-rw-r--r--src/views/mac/SkNSView.h2
-rw-r--r--src/views/mac/SkOSWindow_Mac.cpp290
-rw-r--r--src/views/sdl/SkOSWindow_SDL.cpp10
-rw-r--r--src/views/unix/SkOSWindow_Unix.cpp2
-rw-r--r--src/views/unix/keysym2ucs.c20
-rw-r--r--src/views/win/SkOSWindow_win.cpp48
30 files changed, 3048 insertions, 3048 deletions
diff --git a/src/views/SkBGViewArtist.cpp b/src/views/SkBGViewArtist.cpp
index d9a45b8ffb..ffc410aea6 100644
--- a/src/views/SkBGViewArtist.cpp
+++ b/src/views/SkBGViewArtist.cpp
@@ -11,7 +11,7 @@
SkBGViewArtist::SkBGViewArtist(SkColor c)
{
- fPaint.setColor(c);
+ fPaint.setColor(c);
}
SkBGViewArtist::~SkBGViewArtist()
@@ -20,12 +20,12 @@ SkBGViewArtist::~SkBGViewArtist()
void SkBGViewArtist::onDraw(SkView*, SkCanvas* canvas)
{
- // only works for views that are clipped their bounds.
- canvas->drawPaint(fPaint);
+ // only works for views that are clipped their bounds.
+ canvas->drawPaint(fPaint);
}
void SkBGViewArtist::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- SkPaint_Inflate(&fPaint, dom, node);
+ SkPaint_Inflate(&fPaint, dom, node);
}
diff --git a/src/views/SkEvent.cpp b/src/views/SkEvent.cpp
index 0149215b2c..151317039b 100644
--- a/src/views/SkEvent.cpp
+++ b/src/views/SkEvent.cpp
@@ -59,9 +59,9 @@ static size_t makeCharArray(char* buffer, size_t compact)
return strlen(buffer);
}
-void SkEvent::getType(SkString* str) const
-{
- if (str)
+void SkEvent::getType(SkString* str) const
+{
+ if (str)
{
if ((size_t) fType & 1) // not a pointer
{
@@ -74,13 +74,13 @@ void SkEvent::getType(SkString* str) const
}
}
-bool SkEvent::isType(const SkString& str) const
+bool SkEvent::isType(const SkString& str) const
{
- return this->isType(str.c_str(), str.size());
+ return this->isType(str.c_str(), str.size());
}
-bool SkEvent::isType(const char type[], size_t typeLen) const
-{
+bool SkEvent::isType(const char type[], size_t typeLen) const
+{
if (typeLen == 0)
typeLen = strlen(type);
if ((size_t) fType & 1) { // not a pointer
@@ -88,7 +88,7 @@ bool SkEvent::isType(const char type[], size_t typeLen) const
size_t len = makeCharArray(chars, (size_t) fType);
return len == typeLen && strncmp(chars, type, typeLen) == 0;
}
- return strncmp(fType, type, typeLen) == 0 && fType[typeLen] == 0;
+ return strncmp(fType, type, typeLen) == 0 && fType[typeLen] == 0;
}
void SkEvent::setType(const char type[], size_t typeLen)
@@ -183,7 +183,7 @@ void SkEvent::inflate(const SkDOM& dom, const SkDOM::Node* node)
{
if (title)
SkDebugf("%s ", title);
-
+
SkString etype;
this->getType(&etype);
SkDebugf("event<%s> fast32=%d", etype.c_str(), this->getFast32());
@@ -193,7 +193,7 @@ void SkEvent::inflate(const SkDOM& dom, const SkDOM::Node* node)
SkMetaData::Type mtype;
int count;
const char* name;
-
+
while ((name = iter.next(&mtype, &count)) != NULL)
{
SkASSERT(count > 0);
@@ -296,7 +296,7 @@ void SkEvent::postDelay(SkMSec delay) {
delete this;
return;
}
-
+
if (delay) {
this->postTime(SkTime::GetMSecs() + delay);
return;
@@ -307,7 +307,7 @@ void SkEvent::postDelay(SkMSec delay) {
globals.fEventMutex.acquire();
bool wasEmpty = SkEvent::Enqueue(this);
globals.fEventMutex.release();
-
+
// call outside of us holding the mutex
if (wasEmpty) {
SkEvent::SignalNonEmptyQueue();
@@ -321,11 +321,11 @@ void SkEvent::postTime(SkMSec time) {
}
SkEvent_Globals& globals = getGlobals();
-
+
globals.fEventMutex.acquire();
SkMSec queueDelay = SkEvent::EnqueueTime(this, time);
globals.fEventMutex.release();
-
+
// call outside of us holding the mutex
if ((int32_t)queueDelay != ~0) {
SkEvent::SignalQueueTimer(queueDelay);
@@ -473,7 +473,7 @@ void SkEvent::ServiceQueueTimer()
int SkEvent::CountEventsOnQueue() {
SkEvent_Globals& globals = getGlobals();
globals.fEventMutex.acquire();
-
+
int count = 0;
const SkEvent* evt = globals.fEventQHead;
while (evt) {
diff --git a/src/views/SkEventSink.cpp b/src/views/SkEventSink.cpp
index 8f39156c51..b6a3a6ee82 100644
--- a/src/views/SkEventSink.cpp
+++ b/src/views/SkEventSink.cpp
@@ -163,7 +163,7 @@ void SkEventSink::addListenerID(SkEventSinkID id)
this->addTagList(next);
}
-void SkEventSink::copyListeners(const SkEventSink& sink)
+void SkEventSink::copyListeners(const SkEventSink& sink)
{
SkListenersTagList* sinkList = (SkListenersTagList*)sink.findTagList(kListeners_SkTagList);
if (sinkList == NULL)
@@ -226,7 +226,7 @@ SkEventSink::EventResult SkEventSink::DoEvent(const SkEvent& evt) {
if (proc) {
return proc(evt) ? kHandled_EventResult : kNotHandled_EventResult;
}
-
+
SkEventSink* sink = SkEventSink::FindSink(evt.getTargetID());
if (sink) {
return sink->doEvent(evt) ? kHandled_EventResult : kNotHandled_EventResult;
diff --git a/src/views/SkOSMenu.cpp b/src/views/SkOSMenu.cpp
index ed37541438..3de0a9eb77 100644
--- a/src/views/SkOSMenu.cpp
+++ b/src/views/SkOSMenu.cpp
@@ -11,7 +11,7 @@
static int gOSMenuCmd = 7000;
SkOSMenu::SkOSMenu(const char title[]) {
- fTitle.set(title);
+ fTitle.set(title);
}
SkOSMenu::~SkOSMenu() {
@@ -46,7 +46,7 @@ void SkOSMenu::assignKeyEquivalentToItem(int itemID, SkUnichar key) {
}
}
-bool SkOSMenu::handleKeyEquivalent(SkUnichar key) {
+bool SkOSMenu::handleKeyEquivalent(SkUnichar key) {
int value = 0, size = 0;
bool state;
SkOSMenu::TriState tristate;
@@ -89,7 +89,7 @@ bool SkOSMenu::handleKeyEquivalent(SkUnichar key) {
////////////////////////////////////////////////////////////////////////////////
-SkOSMenu::Item::Item(const char label[], SkOSMenu::Type type,
+SkOSMenu::Item::Item(const char label[], SkOSMenu::Type type,
const char slotName[], SkEvent* evt) {
fLabel.set(label);
fSlotName.set(slotName);
@@ -133,7 +133,7 @@ static const char* gDelimiter = "|";
static const char* gList_Items_Str = "SkOSMenuList_Items";
static const char* gList_ItemCount_S32 = "SkOSMenuList_ItemCount";
-int SkOSMenu::appendItem(const char label[], Type type, const char slotName[],
+int SkOSMenu::appendItem(const char label[], Type type, const char slotName[],
SkEvent* evt) {
SkOSMenu::Item* item = new Item(label, type, slotName, evt);
fItems.append(1, &item);
@@ -147,7 +147,7 @@ int SkOSMenu::appendAction(const char label[], SkEventSinkID target) {
return appendItem(label, SkOSMenu::kAction_Type, "", evt);
}
-int SkOSMenu::appendList(const char label[], const char slotName[],
+int SkOSMenu::appendList(const char label[], const char slotName[],
SkEventSinkID target, int index, const char option[], ...) {
SkEvent* evt = new SkEvent(gMenuEventType, target);
va_list args;
@@ -168,8 +168,8 @@ int SkOSMenu::appendList(const char label[], const char slotName[],
return appendItem(label, SkOSMenu::kList_Type, slotName, evt);
}
-int SkOSMenu::appendSlider(const char label[], const char slotName[],
- SkEventSinkID target, SkScalar min, SkScalar max,
+int SkOSMenu::appendSlider(const char label[], const char slotName[],
+ SkEventSinkID target, SkScalar min, SkScalar max,
SkScalar defaultValue) {
SkEvent* evt = new SkEvent(gMenuEventType, target);
evt->setScalar(gSlider_Min_Scalar, min);
@@ -178,7 +178,7 @@ int SkOSMenu::appendSlider(const char label[], const char slotName[],
return appendItem(label, SkOSMenu::kSlider_Type, slotName, evt);
}
-int SkOSMenu::appendSwitch(const char label[], const char slotName[],
+int SkOSMenu::appendSwitch(const char label[], const char slotName[],
SkEventSinkID target, bool defaultState) {
SkEvent* evt = new SkEvent(gMenuEventType, target);
evt->setBool(slotName, defaultState);
@@ -192,7 +192,7 @@ int SkOSMenu::appendTriState(const char label[], const char slotName[],
return appendItem(label, SkOSMenu::kTriState_Type, slotName, evt);
}
-int SkOSMenu::appendTextField(const char label[], const char slotName[],
+int SkOSMenu::appendTextField(const char label[], const char slotName[],
SkEventSinkID target, const char placeholder[]) {
SkEvent* evt = new SkEvent(gMenuEventType, target);
evt->setString(slotName, placeholder);
@@ -234,7 +234,7 @@ bool SkOSMenu::FindAction(const SkEvent& evt, const char label[]) {
}
bool SkOSMenu::FindListIndex(const SkEvent& evt, const char slotName[], int* value) {
- return evt.isType(gMenuEventType) && evt.findS32(slotName, value);
+ return evt.isType(gMenuEventType) && evt.findS32(slotName, value);
}
bool SkOSMenu::FindSliderValue(const SkEvent& evt, const char slotName[], SkScalar* value) {
diff --git a/src/views/SkParsePaint.cpp b/src/views/SkParsePaint.cpp
index 4839439bb8..7a305f2867 100644
--- a/src/views/SkParsePaint.cpp
+++ b/src/views/SkParsePaint.cpp
@@ -13,98 +13,98 @@
static SkShader* inflate_shader(const SkDOM& dom, const SkDOM::Node* node)
{
- if ((node = dom.getFirstChild(node, "shader")) == NULL)
- return NULL;
-
- const char* str;
-
- if (dom.hasAttr(node, "type", "linear-gradient"))
- {
- SkColor colors[2];
- SkPoint pts[2];
-
- colors[0] = colors[1] = SK_ColorBLACK; // need to initialized the alpha to opaque, since FindColor doesn't set it
- if ((str = dom.findAttr(node, "c0")) != NULL &&
- SkParse::FindColor(str, &colors[0]) &&
- (str = dom.findAttr(node, "c1")) != NULL &&
- SkParse::FindColor(str, &colors[1]) &&
- dom.findScalars(node, "p0", &pts[0].fX, 2) &&
- dom.findScalars(node, "p1", &pts[1].fX, 2))
- {
- SkShader::TileMode mode = SkShader::kClamp_TileMode;
- int index;
-
- if ((index = dom.findList(node, "tile-mode", "clamp,repeat,mirror")) >= 0)
- mode = (SkShader::TileMode)index;
- return SkGradientShader::CreateLinear(pts, colors, NULL, 2, mode);
- }
- }
- else if (dom.hasAttr(node, "type", "bitmap"))
- {
- if ((str = dom.findAttr(node, "src")) == NULL)
- return NULL;
-
- SkBitmap bm;
-
- if (SkImageDecoder::DecodeFile(str, &bm))
- {
- SkShader::TileMode mode = SkShader::kRepeat_TileMode;
- int index;
-
- if ((index = dom.findList(node, "tile-mode", "clamp,repeat,mirror")) >= 0)
- mode = (SkShader::TileMode)index;
-
- return SkShader::CreateBitmapShader(bm, mode, mode);
- }
- }
- return NULL;
+ if ((node = dom.getFirstChild(node, "shader")) == NULL)
+ return NULL;
+
+ const char* str;
+
+ if (dom.hasAttr(node, "type", "linear-gradient"))
+ {
+ SkColor colors[2];
+ SkPoint pts[2];
+
+ colors[0] = colors[1] = SK_ColorBLACK; // need to initialized the alpha to opaque, since FindColor doesn't set it
+ if ((str = dom.findAttr(node, "c0")) != NULL &&
+ SkParse::FindColor(str, &colors[0]) &&
+ (str = dom.findAttr(node, "c1")) != NULL &&
+ SkParse::FindColor(str, &colors[1]) &&
+ dom.findScalars(node, "p0", &pts[0].fX, 2) &&
+ dom.findScalars(node, "p1", &pts[1].fX, 2))
+ {
+ SkShader::TileMode mode = SkShader::kClamp_TileMode;
+ int index;
+
+ if ((index = dom.findList(node, "tile-mode", "clamp,repeat,mirror")) >= 0)
+ mode = (SkShader::TileMode)index;
+ return SkGradientShader::CreateLinear(pts, colors, NULL, 2, mode);
+ }
+ }
+ else if (dom.hasAttr(node, "type", "bitmap"))
+ {
+ if ((str = dom.findAttr(node, "src")) == NULL)
+ return NULL;
+
+ SkBitmap bm;
+
+ if (SkImageDecoder::DecodeFile(str, &bm))
+ {
+ SkShader::TileMode mode = SkShader::kRepeat_TileMode;
+ int index;
+
+ if ((index = dom.findList(node, "tile-mode", "clamp,repeat,mirror")) >= 0)
+ mode = (SkShader::TileMode)index;
+
+ return SkShader::CreateBitmapShader(bm, mode, mode);
+ }
+ }
+ return NULL;
}
void SkPaint_Inflate(SkPaint* paint, const SkDOM& dom, const SkDOM::Node* node)
{
- SkASSERT(paint);
- SkASSERT(&dom);
- SkASSERT(node);
-
- SkScalar x;
-
- if (dom.findScalar(node, "stroke-width", &x))
- paint->setStrokeWidth(x);
- if (dom.findScalar(node, "text-size", &x))
- paint->setTextSize(x);
-
- bool b;
-
- SkASSERT("legacy: use is-stroke" && !dom.findBool(node, "is-frame", &b));
-
- if (dom.findBool(node, "is-stroke", &b))
- paint->setStyle(b ? SkPaint::kStroke_Style : SkPaint::kFill_Style);
- if (dom.findBool(node, "is-antialias", &b))
- paint->setAntiAlias(b);
- if (dom.findBool(node, "is-lineartext", &b))
- paint->setLinearText(b);
-
- const char* str = dom.findAttr(node, "color");
- if (str)
- {
- SkColor c = paint->getColor();
- if (SkParse::FindColor(str, &c))
- paint->setColor(c);
- }
-
- // do this AFTER parsing for the color
- if (dom.findScalar(node, "opacity", &x))
- {
- x = SkMaxScalar(0, SkMinScalar(x, SK_Scalar1));
- paint->setAlpha(SkScalarRound(x * 255));
- }
-
- int index = dom.findList(node, "text-anchor", "left,center,right");
- if (index >= 0)
- paint->setTextAlign((SkPaint::Align)index);
-
- SkShader* shader = inflate_shader(dom, node);
- if (shader)
- paint->setShader(shader)->unref();
+ SkASSERT(paint);
+ SkASSERT(&dom);
+ SkASSERT(node);
+
+ SkScalar x;
+
+ if (dom.findScalar(node, "stroke-width", &x))
+ paint->setStrokeWidth(x);
+ if (dom.findScalar(node, "text-size", &x))
+ paint->setTextSize(x);
+
+ bool b;
+
+ SkASSERT("legacy: use is-stroke" && !dom.findBool(node, "is-frame", &b));
+
+ if (dom.findBool(node, "is-stroke", &b))
+ paint->setStyle(b ? SkPaint::kStroke_Style : SkPaint::kFill_Style);
+ if (dom.findBool(node, "is-antialias", &b))
+ paint->setAntiAlias(b);
+ if (dom.findBool(node, "is-lineartext", &b))
+ paint->setLinearText(b);
+
+ const char* str = dom.findAttr(node, "color");
+ if (str)
+ {
+ SkColor c = paint->getColor();
+ if (SkParse::FindColor(str, &c))
+ paint->setColor(c);
+ }
+
+ // do this AFTER parsing for the color
+ if (dom.findScalar(node, "opacity", &x))
+ {
+ x = SkMaxScalar(0, SkMinScalar(x, SK_Scalar1));
+ paint->setAlpha(SkScalarRound(x * 255));
+ }
+
+ int index = dom.findList(node, "text-anchor", "left,center,right");
+ if (index >= 0)
+ paint->setTextAlign((SkPaint::Align)index);
+
+ SkShader* shader = inflate_shader(dom, node);
+ if (shader)
+ paint->setShader(shader)->unref();
}
diff --git a/src/views/SkProgressView.cpp b/src/views/SkProgressView.cpp
index d82b48ee24..edb78bdcf6 100644
--- a/src/views/SkProgressView.cpp
+++ b/src/views/SkProgressView.cpp
@@ -14,120 +14,120 @@
SkProgressView::SkProgressView(uint32_t flags) : SkView(flags), fOnShader(NULL), fOffShader(NULL)
{
- fValue = 0;
- fMax = 0;
- fInterp = NULL;
- fDoInterp = false;
+ fValue = 0;
+ fMax = 0;
+ fInterp = NULL;
+ fDoInterp = false;
}
SkProgressView::~SkProgressView()
{
- delete fInterp;
- SkSafeUnref(fOnShader);
- SkSafeUnref(fOffShader);
+ delete fInterp;
+ SkSafeUnref(fOnShader);
+ SkSafeUnref(fOffShader);
}
void SkProgressView::setMax(U16CPU max)
{
- if (fMax != max)
- {
- fMax = SkToU16(max);
- if (fValue > 0)
- this->inval(NULL);
- }
+ if (fMax != max)
+ {
+ fMax = SkToU16(max);
+ if (fValue > 0)
+ this->inval(NULL);
+ }
}
void SkProgressView::setValue(U16CPU value)
{
- if (fValue != value)
- {
- if (fDoInterp)
- {
- if (fInterp)
- delete fInterp;
- fInterp = new SkInterpolator(1, 2);
- SkScalar x = (SkScalar)(fValue << 8);
- fInterp->setKeyFrame(0, SkTime::GetMSecs(), &x, 0);
- x = (SkScalar)(value << 8);
- fInterp->setKeyFrame(1, SkTime::GetMSecs() + 333, &x);
- }
- fValue = SkToU16(value);
- this->inval(NULL);
- }
+ if (fValue != value)
+ {
+ if (fDoInterp)
+ {
+ if (fInterp)
+ delete fInterp;
+ fInterp = new SkInterpolator(1, 2);
+ SkScalar x = (SkScalar)(fValue << 8);
+ fInterp->setKeyFrame(0, SkTime::GetMSecs(), &x, 0);
+ x = (SkScalar)(value << 8);
+ fInterp->setKeyFrame(1, SkTime::GetMSecs() + 333, &x);
+ }
+ fValue = SkToU16(value);
+ this->inval(NULL);
+ }
}
void SkProgressView::onDraw(SkCanvas* canvas)
{
- if (fMax == 0)
- return;
-
- SkFixed percent;
-
- if (fInterp)
- {
- SkScalar x;
- if (fInterp->timeToValues(SkTime::GetMSecs(), &x) == SkInterpolator::kFreezeEnd_Result)
- {
- delete fInterp;
- fInterp = NULL;
- }
- percent = (SkFixed)x; // now its 16.8
- percent = SkMax32(0, SkMin32(percent, fMax << 8)); // now its pinned
- percent = SkFixedDiv(percent, fMax << 8); // now its 0.16
- this->inval(NULL);
- }
- else
- {
- U16CPU value = SkMax32(0, SkMin32(fValue, fMax));
- percent = SkFixedDiv(value, fMax);
- }
-
-
- SkRect r;
- SkPaint p;
-
- r.set(0, 0, this->width(), this->height());
- p.setAntiAlias(true);
-
- r.fRight = r.fLeft + SkScalarMul(r.width(), SkFixedToScalar(percent));
- p.setStyle(SkPaint::kFill_Style);
-
- p.setColor(SK_ColorDKGRAY);
- p.setShader(fOnShader);
- canvas->drawRect(r, p);
-
- p.setColor(SK_ColorWHITE);
- p.setShader(fOffShader);
- r.fLeft = r.fRight;
- r.fRight = this->width() - SK_Scalar1;
- if (r.width() > 0)
- canvas->drawRect(r, p);
+ if (fMax == 0)
+ return;
+
+ SkFixed percent;
+
+ if (fInterp)
+ {
+ SkScalar x;
+ if (fInterp->timeToValues(SkTime::GetMSecs(), &x) == SkInterpolator::kFreezeEnd_Result)
+ {
+ delete fInterp;
+ fInterp = NULL;
+ }
+ percent = (SkFixed)x; // now its 16.8
+ percent = SkMax32(0, SkMin32(percent, fMax << 8)); // now its pinned
+ percent = SkFixedDiv(percent, fMax << 8); // now its 0.16
+ this->inval(NULL);
+ }
+ else
+ {
+ U16CPU value = SkMax32(0, SkMin32(fValue, fMax));
+ percent = SkFixedDiv(value, fMax);
+ }
+
+
+ SkRect r;
+ SkPaint p;
+
+ r.set(0, 0, this->width(), this->height());
+ p.setAntiAlias(true);
+
+ r.fRight = r.fLeft + SkScalarMul(r.width(), SkFixedToScalar(percent));
+ p.setStyle(SkPaint::kFill_Style);
+
+ p.setColor(SK_ColorDKGRAY);
+ p.setShader(fOnShader);
+ canvas->drawRect(r, p);
+
+ p.setColor(SK_ColorWHITE);
+ p.setShader(fOffShader);
+ r.fLeft = r.fRight;
+ r.fRight = this->width() - SK_Scalar1;
+ if (r.width() > 0)
+ canvas->drawRect(r, p);
}
#include "SkImageDecoder.h"
static SkShader* inflate_shader(const char file[])
{
- SkBitmap bm;
+ SkBitmap bm;
- return SkImageDecoder::DecodeFile(file, &bm) ?
- SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode) :
- NULL;
+ return SkImageDecoder::DecodeFile(file, &bm) ?
+ SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode) :
+ NULL;
}
void SkProgressView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- const char* s;
+ const char* s;
- SkASSERT(fOnShader == NULL);
- SkASSERT(fOffShader == NULL);
+ SkASSERT(fOnShader == NULL);
+ SkASSERT(fOffShader == NULL);
- if ((s = dom.findAttr(node, "src-on")) != NULL)
- fOnShader = inflate_shader(s);
- if ((s = dom.findAttr(node, "src-off")) != NULL)
- fOffShader = inflate_shader(s);
- (void)dom.findBool(node, "do-interp", &fDoInterp);
+ if ((s = dom.findAttr(node, "src-on")) != NULL)
+ fOnShader = inflate_shader(s);
+ if ((s = dom.findAttr(node, "src-off")) != NULL)
+ fOffShader = inflate_shader(s);
+ (void)dom.findBool(node, "do-interp", &fDoInterp);
}
diff --git a/src/views/SkStackViewLayout.cpp b/src/views/SkStackViewLayout.cpp
index bf6f36339e..e4fbb80ea8 100644
--- a/src/views/SkStackViewLayout.cpp
+++ b/src/views/SkStackViewLayout.cpp
@@ -9,51 +9,51 @@
SkStackViewLayout::SkStackViewLayout()
{
- fMargin.set(0, 0, 0, 0);
- fSpacer = 0;
- fOrient = kHorizontal_Orient;
- fPack = kStart_Pack;
- fAlign = kStart_Align;
- fRound = false;
+ fMargin.set(0, 0, 0, 0);
+ fSpacer = 0;
+ fOrient = kHorizontal_Orient;
+ fPack = kStart_Pack;
+ fAlign = kStart_Align;
+ fRound = false;
}
void SkStackViewLayout::setOrient(Orient ori)
{
- SkASSERT((unsigned)ori < kOrientCount);
- fOrient = SkToU8(ori);
+ SkASSERT((unsigned)ori < kOrientCount);
+ fOrient = SkToU8(ori);
}
void SkStackViewLayout::getMargin(SkRect* margin) const
{
- if (margin)
- *margin = fMargin;
+ if (margin)
+ *margin = fMargin;
}
void SkStackViewLayout::setMargin(const SkRect& margin)
{
- fMargin = margin;
+ fMargin = margin;
}
void SkStackViewLayout::setSpacer(SkScalar spacer)
{
- fSpacer = spacer;
+ fSpacer = spacer;
}
void SkStackViewLayout::setPack(Pack pack)
{
- SkASSERT((unsigned)pack < kPackCount);
- fPack = SkToU8(pack);
+ SkASSERT((unsigned)pack < kPackCount);
+ fPack = SkToU8(pack);
}
void SkStackViewLayout::setAlign(Align align)
{
- SkASSERT((unsigned)align < kAlignCount);
- fAlign = SkToU8(align);
+ SkASSERT((unsigned)align < kAlignCount);
+ fAlign = SkToU8(align);
}
void SkStackViewLayout::setRound(bool r)
{
- fRound = SkToU8(r);
+ fRound = SkToU8(r);
}
////////////////////////////////////////////////////////////////////////////////
@@ -68,170 +68,170 @@ static SkScalar center_align_proc(SkScalar childLimit, SkScalar parentLimit) { r
static SkScalar right_align_proc(SkScalar childLimit, SkScalar parentLimit) { return parentLimit - childLimit; }
static SkScalar fill_align_proc(SkScalar childLimit, SkScalar parentLimit) { return 0; }
-/* Measure the main-dimension for all the children. If a child is marked flex in that direction
- ignore its current value but increment the counter for flexChildren
+/* Measure the main-dimension for all the children. If a child is marked flex in that direction
+ ignore its current value but increment the counter for flexChildren
*/
static SkScalar compute_children_limit(SkView* parent, GetSizeProc sizeProc, int* count,
- uint32_t flexMask, int* flexCount)
+ uint32_t flexMask, int* flexCount)
{
- SkView::B2FIter iter(parent);
- SkView* child;
- SkScalar limit = 0;
- int n = 0, flex = 0;
-
- while ((child = iter.next()) != NULL)
- {
- n += 1;
- if (child->getFlags() & flexMask)
- flex += 1;
- else
- limit += (child->*sizeProc)();
- }
- if (count)
- *count = n;
- if (flexCount)
- *flexCount = flex;
- return limit;
+ SkView::B2FIter iter(parent);
+ SkView* child;
+ SkScalar limit = 0;
+ int n = 0, flex = 0;
+
+ while ((child = iter.next()) != NULL)
+ {
+ n += 1;
+ if (child->getFlags() & flexMask)
+ flex += 1;
+ else
+ limit += (child->*sizeProc)();
+ }
+ if (count)
+ *count = n;
+ if (flexCount)
+ *flexCount = flex;
+ return limit;
}
void SkStackViewLayout::onLayoutChildren(SkView* parent)
{
- static AlignProc gAlignProcs[] = {
- left_align_proc,
- center_align_proc,
- right_align_proc,
- fill_align_proc
- };
-
- SkScalar startM, endM, crossStartM, crossLimit;
- GetSizeProc mainGetSizeP, crossGetSizeP;
- SetLocProc mainLocP, crossLocP;
- SetSizeProc mainSetSizeP, crossSetSizeP;
- SkView::Flag_Mask flexMask;
-
- if (fOrient == kHorizontal_Orient)
- {
- startM = fMargin.fLeft;
- endM = fMargin.fRight;
- crossStartM = fMargin.fTop;
- crossLimit = -fMargin.fTop - fMargin.fBottom;
-
- mainGetSizeP = &SkView::width;
- crossGetSizeP = &SkView::height;
- mainLocP = &SkView::setLocX;
- crossLocP = &SkView::setLocY;
-
- mainSetSizeP = &SkView::setWidth;
- crossSetSizeP = &SkView::setHeight;
-
- flexMask = SkView::kFlexH_Mask;
- }
- else
- {
- startM = fMargin.fTop;
- endM = fMargin.fBottom;
- crossStartM = fMargin.fLeft;
- crossLimit = -fMargin.fLeft - fMargin.fRight;
-
- mainGetSizeP = &SkView::height;
- crossGetSizeP = &SkView::width;
- mainLocP = &SkView::setLocY;
- crossLocP = &SkView::setLocX;
-
- mainSetSizeP = &SkView::setHeight;
- crossSetSizeP = &SkView::setWidth;
-
- flexMask = SkView::kFlexV_Mask;
- }
- crossLimit += (parent->*crossGetSizeP)();
- if (fAlign != kStretch_Align)
- crossSetSizeP = NULL;
-
- int childCount, flexCount;
- SkScalar childLimit = compute_children_limit(parent, mainGetSizeP, &childCount, flexMask, &flexCount);
-
- if (childCount == 0)
- return;
-
- childLimit += (childCount - 1) * fSpacer;
-
- SkScalar parentLimit = (parent->*mainGetSizeP)() - startM - endM;
- SkScalar pos = startM + gAlignProcs[fPack](childLimit, parentLimit);
- SkScalar flexAmount = 0;
- SkView::B2FIter iter(parent);
- SkView* child;
-
- if (flexCount > 0 && parentLimit > childLimit)
- flexAmount = (parentLimit - childLimit) / flexCount;
-
- while ((child = iter.next()) != NULL)
- {
- if (fRound)
- pos = SkIntToScalar(SkScalarRound(pos));
- (child->*mainLocP)(pos);
- SkScalar crossLoc = crossStartM + gAlignProcs[fAlign]((child->*crossGetSizeP)(), crossLimit);
- if (fRound)
- crossLoc = SkIntToScalar(SkScalarRound(crossLoc));
- (child->*crossLocP)(crossLoc);
-
- if (crossSetSizeP)
- (child->*crossSetSizeP)(crossLimit);
- if (child->getFlags() & flexMask)
- (child->*mainSetSizeP)(flexAmount);
- pos += (child->*mainGetSizeP)() + fSpacer;
- }
+ static AlignProc gAlignProcs[] = {
+ left_align_proc,
+ center_align_proc,
+ right_align_proc,
+ fill_align_proc
+ };
+
+ SkScalar startM, endM, crossStartM, crossLimit;
+ GetSizeProc mainGetSizeP, crossGetSizeP;
+ SetLocProc mainLocP, crossLocP;
+ SetSizeProc mainSetSizeP, crossSetSizeP;
+ SkView::Flag_Mask flexMask;
+
+ if (fOrient == kHorizontal_Orient)
+ {
+ startM = fMargin.fLeft;
+ endM = fMargin.fRight;
+ crossStartM = fMargin.fTop;
+ crossLimit = -fMargin.fTop - fMargin.fBottom;
+
+ mainGetSizeP = &SkView::width;
+ crossGetSizeP = &SkView::height;
+ mainLocP = &SkView::setLocX;
+ crossLocP = &SkView::setLocY;
+
+ mainSetSizeP = &SkView::setWidth;
+ crossSetSizeP = &SkView::setHeight;
+
+ flexMask = SkView::kFlexH_Mask;
+ }
+ else
+ {
+ startM = fMargin.fTop;
+ endM = fMargin.fBottom;
+ crossStartM = fMargin.fLeft;
+ crossLimit = -fMargin.fLeft - fMargin.fRight;
+
+ mainGetSizeP = &SkView::height;
+ crossGetSizeP = &SkView::width;
+ mainLocP = &SkView::setLocY;
+ crossLocP = &SkView::setLocX;
+
+ mainSetSizeP = &SkView::setHeight;
+ crossSetSizeP = &SkView::setWidth;
+
+ flexMask = SkView::kFlexV_Mask;
+ }
+ crossLimit += (parent->*crossGetSizeP)();
+ if (fAlign != kStretch_Align)
+ crossSetSizeP = NULL;
+
+ int childCount, flexCount;
+ SkScalar childLimit = compute_children_limit(parent, mainGetSizeP, &childCount, flexMask, &flexCount);
+
+ if (childCount == 0)
+ return;
+
+ childLimit += (childCount - 1) * fSpacer;
+
+ SkScalar parentLimit = (parent->*mainGetSizeP)() - startM - endM;
+ SkScalar pos = startM + gAlignProcs[fPack](childLimit, parentLimit);
+ SkScalar flexAmount = 0;
+ SkView::B2FIter iter(parent);
+ SkView* child;
+
+ if (flexCount > 0 && parentLimit > childLimit)
+ flexAmount = (parentLimit - childLimit) / flexCount;
+
+ while ((child = iter.next()) != NULL)
+ {
+ if (fRound)
+ pos = SkIntToScalar(SkScalarRound(pos));
+ (child->*mainLocP)(pos);
+ SkScalar crossLoc = crossStartM + gAlignProcs[fAlign]((child->*crossGetSizeP)(), crossLimit);
+ if (fRound)
+ crossLoc = SkIntToScalar(SkScalarRound(crossLoc));
+ (child->*crossLocP)(crossLoc);
+
+ if (crossSetSizeP)
+ (child->*crossSetSizeP)(crossLimit);
+ if (child->getFlags() & flexMask)
+ (child->*mainSetSizeP)(flexAmount);
+ pos += (child->*mainGetSizeP)() + fSpacer;
+ }
}
//////////////////////////////////////////////////////////////////////////////////////
#ifdef SK_DEBUG
- static void assert_no_attr(const SkDOM& dom, const SkDOM::Node* node, const char attr[])
- {
- const char* value = dom.findAttr(node, attr);
- if (value)
- SkDebugf("unknown attribute %s=\"%s\"\n", attr, value);
- }
+ static void assert_no_attr(const SkDOM& dom, const SkDOM::Node* node, const char attr[])
+ {
+ const char* value = dom.findAttr(node, attr);
+ if (value)
+ SkDebugf("unknown attribute %s=\"%s\"\n", attr, value);
+ }
#else
- #define assert_no_attr(dom, node, attr)
+ #define assert_no_attr(dom, node, attr)
#endif
void SkStackViewLayout::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- int index;
- SkScalar value[4];
+ int index;
+ SkScalar value[4];
- if ((index = dom.findList(node, "orient", "horizontal,vertical")) >= 0)
- this->setOrient((Orient)index);
- else {
- assert_no_attr(dom, node, "orient");
+ if ((index = dom.findList(node, "orient", "horizontal,vertical")) >= 0)
+ this->setOrient((Orient)index);
+ else {
+ assert_no_attr(dom, node, "orient");
}
- if (dom.findScalars(node, "margin", value, 4))
- {
- SkRect margin;
- margin.set(value[0], value[1], value[2], value[3]);
- this->setMargin(margin);
- }
- else {
- assert_no_attr(dom, node, "margin");
+ if (dom.findScalars(node, "margin", value, 4))
+ {
+ SkRect margin;
+ margin.set(value[0], value[1], value[2], value[3]);
+ this->setMargin(margin);
+ }
+ else {
+ assert_no_attr(dom, node, "margin");
}
- if (dom.findScalar(node, "spacer", value))
- this->setSpacer(value[0]);
- else {
- assert_no_attr(dom, node, "spacer");
+ if (dom.findScalar(node, "spacer", value))
+ this->setSpacer(value[0]);
+ else {
+ assert_no_attr(dom, node, "spacer");
}
- if ((index = dom.findList(node, "pack", "start,center,end")) >= 0)
- this->setPack((Pack)index);
- else {
- assert_no_attr(dom, node, "pack");
+ if ((index = dom.findList(node, "pack", "start,center,end")) >= 0)
+ this->setPack((Pack)index);
+ else {
+ assert_no_attr(dom, node, "pack");
}
- if ((index = dom.findList(node, "align", "start,center,end,stretch")) >= 0)
- this->setAlign((Align)index);
- else {
- assert_no_attr(dom, node, "align");
+ if ((index = dom.findList(node, "align", "start,center,end,stretch")) >= 0)
+ this->setAlign((Align)index);
+ else {
+ assert_no_attr(dom, node, "align");
}
}
@@ -239,36 +239,36 @@ void SkStackViewLayout::onInflate(const SkDOM& dom, const SkDOM::Node* node)
SkFillViewLayout::SkFillViewLayout()
{
- fMargin.setEmpty();
+ fMargin.setEmpty();
}
void SkFillViewLayout::getMargin(SkRect* r) const
{
- if (r)
- *r = fMargin;
+ if (r)
+ *r = fMargin;
}
void SkFillViewLayout::setMargin(const SkRect& margin)
{
- fMargin = margin;
+ fMargin = margin;
}
void SkFillViewLayout::onLayoutChildren(SkView* parent)
{
- SkView::B2FIter iter(parent);
- SkView* child;
-
- while ((child = iter.next()) != NULL)
- {
- child->setLoc(fMargin.fLeft, fMargin.fTop);
- child->setSize( parent->width() - fMargin.fRight - fMargin.fLeft,
- parent->height() - fMargin.fBottom - fMargin.fTop);
- }
+ SkView::B2FIter iter(parent);
+ SkView* child;
+
+ while ((child = iter.next()) != NULL)
+ {
+ child->setLoc(fMargin.fLeft, fMargin.fTop);
+ child->setSize( parent->width() - fMargin.fRight - fMargin.fLeft,
+ parent->height() - fMargin.fBottom - fMargin.fTop);
+ }
}
void SkFillViewLayout::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
- (void)dom.findScalars(node, "margin", (SkScalar*)&fMargin, 4);
+ this->INHERITED::onInflate(dom, node);
+ (void)dom.findScalars(node, "margin", (SkScalar*)&fMargin, 4);
}
diff --git a/src/views/SkTextBox.cpp b/src/views/SkTextBox.cpp
index 47237a905e..355944aef1 100644
--- a/src/views/SkTextBox.cpp
+++ b/src/views/SkTextBox.cpp
@@ -156,7 +156,7 @@ void SkTextBox::draw(SkCanvas* canvas, const char text[], size_t len, const SkPa
y += scaledSpacing;
if (y + metrics.fAscent >= height)
break;
- }
+ }
}
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/views/SkTouchGesture.cpp b/src/views/SkTouchGesture.cpp
index 1828f0390b..afda8c15cd 100644
--- a/src/views/SkTouchGesture.cpp
+++ b/src/views/SkTouchGesture.cpp
@@ -191,7 +191,7 @@ static const float MIN_ZOOM_SCALE = 0.25f;
float SkTouchGesture::limitTotalZoom(float scale) const {
// this query works 'cause we know that we're square-scale w/ no skew/rotation
const float curr = SkScalarToFloat(fGlobalM[0]);
-
+
if (scale > 1 && curr * scale > MAX_ZOOM_SCALE) {
scale = MAX_ZOOM_SCALE / curr;
} else if (scale < 1 && curr * scale < MIN_ZOOM_SCALE) {
@@ -239,7 +239,7 @@ void SkTouchGesture::touchMoved(void* owner, float x, float y) {
SkASSERT(kZoom_State == fState);
const Rec& rec0 = fTouches[0];
const Rec& rec1 = fTouches[1];
-
+
float scale = this->computePinch(rec0, rec1);
scale = this->limitTotalZoom(scale);
diff --git a/src/views/SkView.cpp b/src/views/SkView.cpp
index eb93198240..94eb490a0b 100644
--- a/src/views/SkView.cpp
+++ b/src/views/SkView.cpp
@@ -95,7 +95,7 @@ void SkView::offset(SkScalar dx, SkScalar dy)
this->setLoc(fLoc.fX + dx, fLoc.fY + dy);
}
-void SkView::setLocalMatrix(const SkMatrix& matrix)
+void SkView::setLocalMatrix(const SkMatrix& matrix)
{
this->inval(NULL);
fMatrix = matrix;
@@ -106,22 +106,22 @@ void SkView::draw(SkCanvas* canvas)
{
if (fWidth && fHeight && this->isVisible())
{
- SkRect r;
+ SkRect r;
r.set(fLoc.fX, fLoc.fY, fLoc.fX + fWidth, fLoc.fY + fHeight);
if (this->isClipToBounds() &&
canvas->quickReject(r)) {
return;
}
- SkAutoCanvasRestore as(canvas, true);
+ SkAutoCanvasRestore as(canvas, true);
if (this->isClipToBounds()) {
canvas->clipRect(r);
}
-
- canvas->translate(fLoc.fX, fLoc.fY);
+
+ canvas->translate(fLoc.fX, fLoc.fY);
canvas->concat(fMatrix);
-
+
if (fParent) {
fParent->beforeChild(this, canvas);
}
@@ -133,21 +133,21 @@ void SkView::draw(SkCanvas* canvas)
if (fParent) {
fParent->afterChild(this, canvas);
}
-
- B2FIter iter(this);
- SkView* child;
+
+ B2FIter iter(this);
+ SkView* child;
SkCanvas* childCanvas = this->beforeChildren(canvas);
while ((child = iter.next()) != NULL)
child->draw(childCanvas);
-
+
this->afterChildren(canvas);
}
}
void SkView::inval(SkRect* rect) {
- SkView* view = this;
+ SkView* view = this;
SkRect storage;
for (;;) {
@@ -184,7 +184,7 @@ void SkView::inval(SkRect* rect) {
bool SkView::setFocusView(SkView* fv)
{
SkView* view = this;
-
+
do {
if (view->onSetFocusView(fv))
return true;
@@ -194,8 +194,8 @@ bool SkView::setFocusView(SkView* fv)
SkView* SkView::getFocusView() const
{
- SkView* focus = NULL;
- const SkView* view = this;
+ SkView* focus = NULL;
+ const SkView* view = this;
do {
if (view->onGetFocusView(&focus))
break;
@@ -223,16 +223,16 @@ SkView* SkView::acceptFocus(FocusDirection dir)
if (this->acceptFocus())
return this;
- B2FIter iter(this);
- SkView* child, *focus;
+ B2FIter iter(this);
+ SkView* child, *focus;
while ((child = iter.next()) != NULL)
if ((focus = child->acceptFocus(dir)) != NULL)
return focus;
}
else // prev
{
- F2BIter iter(this);
- SkView* child, *focus;
+ F2BIter iter(this);
+ SkView* child, *focus;
while ((child = iter.next()) != NULL)
if ((focus = child->acceptFocus(dir)) != NULL)
return focus;
@@ -249,13 +249,13 @@ SkView* SkView::moveFocus(FocusDirection dir)
SkView* focus = this->getFocusView();
if (focus == NULL)
- { // start with the root
+ { // start with the root
focus = this;
while (focus->fParent)
focus = focus->fParent;
}
- SkView* child, *parent;
+ SkView* child, *parent;
if (dir == kNext_FocusDirection)
{
@@ -279,10 +279,10 @@ SkView* SkView::moveFocus(FocusDirection dir)
parent = parent->fParent;
} while (parent != NULL);
}
- else // prevfocus
+ else // prevfocus
{
parent = focus->fParent;
- if (parent == NULL) // we're the root
+ if (parent == NULL) // we're the root
return focus->acceptFocus(dir);
else
{
@@ -364,7 +364,7 @@ void SkView::Click::copyType(const char type[])
this->resetType();
if (type)
{
- size_t len = strlen(type) + 1;
+ size_t len = strlen(type) + 1;
fType = (char*)sk_malloc_throw(len);
memcpy(fType, type, len);
fWeOwnTheType = true;
@@ -379,8 +379,8 @@ SkView::Click* SkView::findClickHandler(SkScalar x, SkScalar y)
}
if (this->onSendClickToChildren(x, y)) {
- F2BIter iter(this);
- SkView* child;
+ F2BIter iter(this);
+ SkView* child;
while ((child = iter.next()) != NULL)
{
@@ -526,9 +526,9 @@ void SkView::detachFromParent_NoLayout()
this->inval(NULL);
- SkView* next = NULL;
+ SkView* next = NULL;
- if (fNextSibling != this) // do we have any siblings
+ if (fNextSibling != this) // do we have any siblings
{
fNextSibling->fPrevSibling = fPrevSibling;
fPrevSibling->fNextSibling = fNextSibling;
@@ -657,7 +657,7 @@ bool SkView::globalToLocal(SkScalar x, SkScalar y, SkPoint* local) const
//////////////////////////////////////////////////////////////////
-/* Even if the subclass overrides onInflate, they should always be
+/* Even if the subclass overrides onInflate, they should always be
sure to call the inherited method, so that we get called.
*/
void SkView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
@@ -705,8 +705,8 @@ void SkView::postInflate(const SkTDict<SkView*>& dict)
{
this->onPostInflate(dict);
- B2FIter iter(this);
- SkView* child;
+ B2FIter iter(this);
+ SkView* child;
while ((child = iter.next()) != NULL)
child->postInflate(dict);
}
@@ -716,7 +716,7 @@ void SkView::postInflate(const SkTDict<SkView*>& dict)
SkView* SkView::sendEventToParents(const SkEvent& evt)
{
SkView* parent = fParent;
-
+
while (parent)
{
if (parent->doEvent(evt))
@@ -728,7 +728,7 @@ SkView* SkView::sendEventToParents(const SkEvent& evt)
SkView* SkView::sendQueryToParents(SkEvent* evt) {
SkView* parent = fParent;
-
+
while (parent) {
if (parent->doQuery(evt)) {
return parent;
@@ -747,7 +747,7 @@ SkView::F2BIter::F2BIter(const SkView* parent)
fChild = fFirstChild ? fFirstChild->fPrevSibling : NULL;
}
-SkView* SkView::F2BIter::next()
+SkView* SkView::F2BIter::next()
{
SkView* curr = fChild;
@@ -767,7 +767,7 @@ SkView::B2FIter::B2FIter(const SkView* parent)
fChild = fFirstChild;
}
-SkView* SkView::B2FIter::next()
+SkView* SkView::B2FIter::next()
{
SkView* curr = fChild;
@@ -810,9 +810,9 @@ static void dumpview(const SkView* view, int level, bool recurse)
if (recurse)
{
- SkView::B2FIter iter(view);
- SkView* child;
- bool noChildren = true;
+ SkView::B2FIter iter(view);
+ SkView* child;
+ bool noChildren = true;
while ((child = iter.next()) != NULL)
{
diff --git a/src/views/SkViewInflate.cpp b/src/views/SkViewInflate.cpp
index 184e54021a..4d7de0483c 100644
--- a/src/views/SkViewInflate.cpp
+++ b/src/views/SkViewInflate.cpp
@@ -19,128 +19,128 @@ SkViewInflate::~SkViewInflate()
void SkViewInflate::rInflate(const SkDOM& dom, const SkDOM::Node* node, SkView* parent)
{
- const char* str = dom.findAttr(node, "id");
- if (str)
- fIDs.set(str, parent);
-
- const SkDOM::Node* child = dom.getFirstChild(node);
- while (child)
- {
- SkView* view = this->createView(dom, child);
- if (view)
- {
- this->rInflate(dom, child, view);
- parent->attachChildToFront(view)->unref();
- }
- else
- {
- const char* name = dom.getName(child);
- const char* target;
-
- if (!strcmp(name, "listenTo") && (target = dom.findAttr(child, "target")) != NULL)
- this->addIDStr(&fListenTo, parent, target);
-
- if (!strcmp(name, "broadcastTo") && (target = dom.findAttr(child, "target")) != NULL)
- this->addIDStr(&fBroadcastTo, parent, target);
- }
- child = dom.getNextSibling(child);
- }
-
- parent->setVisibleP(true);
- this->inflateView(parent, dom, node);
+ const char* str = dom.findAttr(node, "id");
+ if (str)
+ fIDs.set(str, parent);
+
+ const SkDOM::Node* child = dom.getFirstChild(node);
+ while (child)
+ {
+ SkView* view = this->createView(dom, child);
+ if (view)
+ {
+ this->rInflate(dom, child, view);
+ parent->attachChildToFront(view)->unref();
+ }
+ else
+ {
+ const char* name = dom.getName(child);
+ const char* target;
+
+ if (!strcmp(name, "listenTo") && (target = dom.findAttr(child, "target")) != NULL)
+ this->addIDStr(&fListenTo, parent, target);
+
+ if (!strcmp(name, "broadcastTo") && (target = dom.findAttr(child, "target")) != NULL)
+ this->addIDStr(&fBroadcastTo, parent, target);
+ }
+ child = dom.getNextSibling(child);
+ }
+
+ parent->setVisibleP(true);
+ this->inflateView(parent, dom, node);
}
void SkViewInflate::inflateView(SkView* view, const SkDOM& dom, const SkDOM::Node* node)
{
- // called after all of view's children have been instantiated.
- // this may be overridden by a subclass, to load in layout or other helpers
- // they should call through to us (INHERITED) before or after their patch
- view->inflate(dom, node);
+ // called after all of view's children have been instantiated.
+ // this may be overridden by a subclass, to load in layout or other helpers
+ // they should call through to us (INHERITED) before or after their patch
+ view->inflate(dom, node);
}
SkView* SkViewInflate::inflate(const SkDOM& dom, const SkDOM::Node* node, SkView* root)
{
- fIDs.reset();
-
- if (root == NULL)
- {
- root = this->createView(dom, node);
- if (root == NULL)
- {
- printf("createView returned NULL on <%s>\n", dom.getName(node));
- return NULL;
- }
- }
- this->rInflate(dom, node, root);
-
- // resolve listeners and broadcasters
- {
- SkView* target;
- const IDStr* iter = fListenTo.begin();
- const IDStr* stop = fListenTo.end();
- for (; iter < stop; iter++)
- {
- if (fIDs.find(iter->fStr, &target))
- target->addListenerID(iter->fView->getSinkID());
- }
-
- iter = fBroadcastTo.begin();
- stop = fBroadcastTo.end();
- for (; iter < stop; iter++)
- {
- if (fIDs.find(iter->fStr, &target))
- iter->fView->addListenerID(target->getSinkID());
- }
- }
-
- // now that the tree is built, give everyone a shot at the ID dict
- root->postInflate(fIDs);
- return root;
+ fIDs.reset();
+
+ if (root == NULL)
+ {
+ root = this->createView(dom, node);
+ if (root == NULL)
+ {
+ printf("createView returned NULL on <%s>\n", dom.getName(node));
+ return NULL;
+ }
+ }
+ this->rInflate(dom, node, root);
+
+ // resolve listeners and broadcasters
+ {
+ SkView* target;
+ const IDStr* iter = fListenTo.begin();
+ const IDStr* stop = fListenTo.end();
+ for (; iter < stop; iter++)
+ {
+ if (fIDs.find(iter->fStr, &target))
+ target->addListenerID(iter->fView->getSinkID());
+ }
+
+ iter = fBroadcastTo.begin();
+ stop = fBroadcastTo.end();
+ for (; iter < stop; iter++)
+ {
+ if (fIDs.find(iter->fStr, &target))
+ iter->fView->addListenerID(target->getSinkID());
+ }
+ }
+
+ // now that the tree is built, give everyone a shot at the ID dict
+ root->postInflate(fIDs);
+ return root;
}
SkView* SkViewInflate::inflate(const char xml[], size_t len, SkView* root)
{
- SkDOM dom;
- const SkDOM::Node* node = dom.build(xml, len);
+ SkDOM dom;
+ const SkDOM::Node* node = dom.build(xml, len);
- return node ? this->inflate(dom, node, root) : NULL;
+ return node ? this->inflate(dom, node, root) : NULL;
}
SkView* SkViewInflate::findViewByID(const char id[]) const
{
- SkASSERT(id);
- SkView* view;
- return fIDs.find(id, &view) ? view : NULL;
+ SkASSERT(id);
+ SkView* view;
+ return fIDs.find(id, &view) ? view : NULL;
}
SkView* SkViewInflate::createView(const SkDOM& dom, const SkDOM::Node* node)
{
- if (!strcmp(dom.getName(node), "view"))
- return new SkView;
- return NULL;
+ if (!strcmp(dom.getName(node), "view"))
+ return new SkView;
+ return NULL;
}
void SkViewInflate::addIDStr(SkTDArray<IDStr>* list, SkView* view, const char* str)
{
- size_t len = strlen(str) + 1;
- IDStr* pair = list->append();
- pair->fView = view;
- pair->fStr = (char*)fStrings.alloc(len, SkChunkAlloc::kThrow_AllocFailType);
- memcpy(pair->fStr, str, len);
+ size_t len = strlen(str) + 1;
+ IDStr* pair = list->append();
+ pair->fView = view;
+ pair->fStr = (char*)fStrings.alloc(len, SkChunkAlloc::kThrow_AllocFailType);
+ memcpy(pair->fStr, str, len);
}
#ifdef SK_DEBUG
void SkViewInflate::dump() const
{
- const IDStr* iter = fListenTo.begin();
- const IDStr* stop = fListenTo.end();
- for (; iter < stop; iter++)
- SkDebugf("inflate: listenTo(\"%s\")\n", iter->fStr);
-
- iter = fBroadcastTo.begin();
- stop = fBroadcastTo.end();
- for (; iter < stop; iter++)
- SkDebugf("inflate: broadcastFrom(\"%s\")\n", iter->fStr);
+ const IDStr* iter = fListenTo.begin();
+ const IDStr* stop = fListenTo.end();
+ for (; iter < stop; iter++)
+ SkDebugf("inflate: listenTo(\"%s\")\n", iter->fStr);
+
+ iter = fBroadcastTo.begin();
+ stop = fBroadcastTo.end();
+ for (; iter < stop; iter++)
+ SkDebugf("inflate: broadcastFrom(\"%s\")\n", iter->fStr);
}
#endif
diff --git a/src/views/SkViewPriv.cpp b/src/views/SkViewPriv.cpp
index ad15f3fdb4..ba40c1e360 100644
--- a/src/views/SkViewPriv.cpp
+++ b/src/views/SkViewPriv.cpp
@@ -11,94 +11,94 @@
void SkView::Artist::draw(SkView* view, SkCanvas* canvas)
{
- SkASSERT(view && canvas);
- this->onDraw(view, canvas);
+ SkASSERT(view && canvas);
+ this->onDraw(view, canvas);
}
void SkView::Artist::inflate(const SkDOM& dom, const SkDOM::Node* node)
{
- SkASSERT(&dom && node);
- this->onInflate(dom, node);
+ SkASSERT(&dom && node);
+ this->onInflate(dom, node);
}
void SkView::Artist::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- // subclass should override this as needed
+ // subclass should override this as needed
}
SkView::Artist* SkView::getArtist() const
{
- Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);
- SkASSERT(rec == NULL || rec->fArtist != NULL);
+ Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);
+ SkASSERT(rec == NULL || rec->fArtist != NULL);
- return rec ? rec->fArtist : NULL;
+ return rec ? rec->fArtist : NULL;
}
SkView::Artist* SkView::setArtist(Artist* obj)
{
- if (obj == NULL)
- {
- this->removeTagList(kViewArtist_SkTagList);
- }
- else // add/replace
- {
- Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);
-
- if (rec)
- SkRefCnt_SafeAssign(rec->fArtist, obj);
- else
- this->addTagList(new Artist_SkTagList(obj));
- }
- return obj;
+ if (obj == NULL)
+ {
+ this->removeTagList(kViewArtist_SkTagList);
+ }
+ else // add/replace
+ {
+ Artist_SkTagList* rec = (Artist_SkTagList*)this->findTagList(kViewArtist_SkTagList);
+
+ if (rec)
+ SkRefCnt_SafeAssign(rec->fArtist, obj);
+ else
+ this->addTagList(new Artist_SkTagList(obj));
+ }
+ return obj;
}
////////////////////////////////////////////////////////////////////////////////
void SkView::Layout::layoutChildren(SkView* parent)
{
- SkASSERT(parent);
- if (parent->width() > 0 && parent->height() > 0)
- this->onLayoutChildren(parent);
+ SkASSERT(parent);
+ if (parent->width() > 0 && parent->height() > 0)
+ this->onLayoutChildren(parent);
}
void SkView::Layout::inflate(const SkDOM& dom, const SkDOM::Node* node)
{
- SkASSERT(&dom && node);
- this->onInflate(dom, node);
+ SkASSERT(&dom && node);
+ this->onInflate(dom, node);
}
void SkView::Layout::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- // subclass should override this as needed
+ // subclass should override this as needed
}
SkView::Layout* SkView::getLayout() const
{
- Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);
- SkASSERT(rec == NULL || rec->fLayout != NULL);
+ Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);
+ SkASSERT(rec == NULL || rec->fLayout != NULL);
- return rec ? rec->fLayout : NULL;
+ return rec ? rec->fLayout : NULL;
}
SkView::Layout* SkView::setLayout(Layout* obj, bool invokeLayoutNow)
{
- if (obj == NULL)
- {
- this->removeTagList(kViewLayout_SkTagList);
- }
- else // add/replace
- {
- Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);
-
- if (rec)
- SkRefCnt_SafeAssign(rec->fLayout, obj);
- else
- this->addTagList(new Layout_SkTagList(obj));
- }
-
- if (invokeLayoutNow)
- this->invokeLayout();
-
- return obj;
+ if (obj == NULL)
+ {
+ this->removeTagList(kViewLayout_SkTagList);
+ }
+ else // add/replace
+ {
+ Layout_SkTagList* rec = (Layout_SkTagList*)this->findTagList(kViewLayout_SkTagList);
+
+ if (rec)
+ SkRefCnt_SafeAssign(rec->fLayout, obj);
+ else
+ this->addTagList(new Layout_SkTagList(obj));
+ }
+
+ if (invokeLayoutNow)
+ this->invokeLayout();
+
+ return obj;
}
diff --git a/src/views/SkViewPriv.h b/src/views/SkViewPriv.h
index d8cf966ce9..8a9c0b7e9a 100644
--- a/src/views/SkViewPriv.h
+++ b/src/views/SkViewPriv.h
@@ -12,33 +12,33 @@
#include "SkTagList.h"
struct Layout_SkTagList : SkTagList {
- SkView::Layout* fLayout;
-
- Layout_SkTagList(SkView::Layout* layout)
- : SkTagList(kViewLayout_SkTagList), fLayout(layout)
- {
- SkASSERT(layout);
- layout->ref();
- }
- virtual ~Layout_SkTagList()
- {
- fLayout->unref();
- }
+ SkView::Layout* fLayout;
+
+ Layout_SkTagList(SkView::Layout* layout)
+ : SkTagList(kViewLayout_SkTagList), fLayout(layout)
+ {
+ SkASSERT(layout);
+ layout->ref();
+ }
+ virtual ~Layout_SkTagList()
+ {
+ fLayout->unref();
+ }
};
struct Artist_SkTagList : SkTagList {
- SkView::Artist* fArtist;
-
- Artist_SkTagList(SkView::Artist* artist)
- : SkTagList(kViewArtist_SkTagList), fArtist(artist)
- {
- SkASSERT(artist);
- artist->ref();
- }
- virtual ~Artist_SkTagList()
- {
- fArtist->unref();
- }
+ SkView::Artist* fArtist;
+
+ Artist_SkTagList(SkView::Artist* artist)
+ : SkTagList(kViewArtist_SkTagList), fArtist(artist)
+ {
+ SkASSERT(artist);
+ artist->ref();
+ }
+ virtual ~Artist_SkTagList()
+ {
+ fArtist->unref();
+ }
};
#endif
diff --git a/src/views/SkWidget.cpp b/src/views/SkWidget.cpp
index 104429da57..e7de522107 100644
--- a/src/views/SkWidget.cpp
+++ b/src/views/SkWidget.cpp
@@ -22,7 +22,7 @@ SkWidgetView::~SkWidgetView()
const char* SkWidgetView::GetEventType()
{
- return "SkWidgetView";
+ return "SkWidgetView";
}
/////////////////////////////////////////////////////////////////////////////
@@ -30,300 +30,300 @@ const char* SkWidgetView::GetEventType()
class SkTextView::Interp {
public:
- Interp(const SkString& old, SkMSec now, SkMSec dur, AnimaDir dir) : fOldText(old), fInterp(1, 2)
- {
- SkScalar x = 0;
- fInterp.setKeyFrame(0, now, &x, 0);
- x = SK_Scalar1;
- if (dir == kBackward_AnimDir)
- x = -x;
- fInterp.setKeyFrame(1, now + dur, &x);
- }
- bool draw(SkCanvas* canvas, const SkString& newText, SkScalar x, SkScalar y, SkPaint& paint)
- {
- SkScalar scale;
-
- if (fInterp.timeToValues(SkTime::GetMSecs(), &scale) == SkInterpolator::kFreezeEnd_Result)
- {
- canvas->drawText(newText.c_str(), newText.size(), x, y, paint);
- return false;
- }
- else
- {
- U8 alpha = paint.getAlpha();
- SkScalar above, below;
- (void)paint.measureText(NULL, 0, &above, &below);
- SkScalar height = below - above;
- SkScalar dy = SkScalarMul(height, scale);
- if (scale < 0)
- height = -height;
-
- // draw the old
- paint.setAlpha((U8)SkScalarMul(alpha, SK_Scalar1 - SkScalarAbs(scale)));
- canvas->drawText(fOldText.c_str(), fOldText.size(), x, y - dy, paint);
- // draw the new
- paint.setAlpha((U8)SkScalarMul(alpha, SkScalarAbs(scale)));
- canvas->drawText(newText.c_str(), newText.size(), x, y + height - dy, paint);
- // restore the paint
- paint.setAlpha(alpha);
- return true;
- }
- }
+ Interp(const SkString& old, SkMSec now, SkMSec dur, AnimaDir dir) : fOldText(old), fInterp(1, 2)
+ {
+ SkScalar x = 0;
+ fInterp.setKeyFrame(0, now, &x, 0);
+ x = SK_Scalar1;
+ if (dir == kBackward_AnimDir)
+ x = -x;
+ fInterp.setKeyFrame(1, now + dur, &x);
+ }
+ bool draw(SkCanvas* canvas, const SkString& newText, SkScalar x, SkScalar y, SkPaint& paint)
+ {
+ SkScalar scale;
+
+ if (fInterp.timeToValues(SkTime::GetMSecs(), &scale) == SkInterpolator::kFreezeEnd_Result)
+ {
+ canvas->drawText(newText.c_str(), newText.size(), x, y, paint);
+ return false;
+ }
+ else
+ {
+ U8 alpha = paint.getAlpha();
+ SkScalar above, below;
+ (void)paint.measureText(NULL, 0, &above, &below);
+ SkScalar height = below - above;
+ SkScalar dy = SkScalarMul(height, scale);
+ if (scale < 0)
+ height = -height;
+
+ // draw the old
+ paint.setAlpha((U8)SkScalarMul(alpha, SK_Scalar1 - SkScalarAbs(scale)));
+ canvas->drawText(fOldText.c_str(), fOldText.size(), x, y - dy, paint);
+ // draw the new
+ paint.setAlpha((U8)SkScalarMul(alpha, SkScalarAbs(scale)));
+ canvas->drawText(newText.c_str(), newText.size(), x, y + height - dy, paint);
+ // restore the paint
+ paint.setAlpha(alpha);
+ return true;
+ }
+ }
private:
- SkString fOldText;
- SkInterpolator fInterp;
+ SkString fOldText;
+ SkInterpolator fInterp;
};
SkTextView::SkTextView(U32 flags) : SkView(flags), fInterp(NULL), fDoInterp(false)
{
- fMargin.set(0, 0);
+ fMargin.set(0, 0);
}
SkTextView::~SkTextView()
{
- delete fInterp;
+ delete fInterp;
}
void SkTextView::getText(SkString* str) const
{
- if (str)
- str->set(fText);
+ if (str)
+ str->set(fText);
}
void SkTextView::setText(const char text[], AnimaDir dir)
{
- if (!fText.equals(text))
- {
- SkString tmp(text);
- this->privSetText(tmp, dir);
- }
+ if (!fText.equals(text))
+ {
+ SkString tmp(text);
+ this->privSetText(tmp, dir);
+ }
}
void SkTextView::setText(const char text[], size_t len, AnimaDir dir)
{
- if (!fText.equals(text))
- {
- SkString tmp(text, len);
- this->privSetText(tmp, dir);
- }
+ if (!fText.equals(text))
+ {
+ SkString tmp(text, len);
+ this->privSetText(tmp, dir);
+ }
}
void SkTextView::setText(const SkString& src, AnimaDir dir)
{
- if (fText != src)
- this->privSetText(src, dir);
+ if (fText != src)
+ this->privSetText(src, dir);
}
void SkTextView::privSetText(const SkString& src, AnimaDir dir)
{
- SkASSERT(fText != src);
-
- if (fDoInterp)
- {
- if (fInterp)
- delete fInterp;
- fInterp = new Interp(fText, SkTime::GetMSecs(), 500, dir);
- }
- fText = src;
- this->inval(NULL);
+ SkASSERT(fText != src);
+
+ if (fDoInterp)
+ {
+ if (fInterp)
+ delete fInterp;
+ fInterp = new Interp(fText, SkTime::GetMSecs(), 500, dir);
+ }
+ fText = src;
+ this->inval(NULL);
}
/////////////////////////////////////////////////////////////////
void SkTextView::getMargin(SkPoint* margin) const
{
- if (margin)
- *margin = fMargin;
+ if (margin)
+ *margin = fMargin;
}
void SkTextView::setMargin(const SkPoint& margin)
{
- if (fMargin != margin)
- {
- fMargin = margin;
- this->inval(NULL);
- }
+ if (fMargin != margin)
+ {
+ fMargin = margin;
+ this->inval(NULL);
+ }
}
void SkTextView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
-
- if (fText.size() == 0)
- return;
-
- SkPaint::Align align = fPaint.getTextAlign();
- SkScalar x, y;
-
- switch (align) {
- case SkPaint::kLeft_Align:
- x = fMargin.fX;
- break;
- case SkPaint::kCenter_Align:
- x = SkScalarHalf(this->width());
- break;
- default:
- SkASSERT(align == SkPaint::kRight_Align);
- x = this->width() - fMargin.fX;
- break;
- }
-
- fPaint.measureText(NULL, 0, &y, NULL);
- y = fMargin.fY - y;
-
- if (fInterp)
- {
- if (fInterp->draw(canvas, fText, x, y, fPaint))
- this->inval(NULL);
- else
- {
- delete fInterp;
- fInterp = NULL;
- }
- }
- else
- canvas->drawText(fText.c_str(), fText.size(), x, y, fPaint);
+ this->INHERITED::onDraw(canvas);
+
+ if (fText.size() == 0)
+ return;
+
+ SkPaint::Align align = fPaint.getTextAlign();
+ SkScalar x, y;
+
+ switch (align) {
+ case SkPaint::kLeft_Align:
+ x = fMargin.fX;
+ break;
+ case SkPaint::kCenter_Align:
+ x = SkScalarHalf(this->width());
+ break;
+ default:
+ SkASSERT(align == SkPaint::kRight_Align);
+ x = this->width() - fMargin.fX;
+ break;
+ }
+
+ fPaint.measureText(NULL, 0, &y, NULL);
+ y = fMargin.fY - y;
+
+ if (fInterp)
+ {
+ if (fInterp->draw(canvas, fText, x, y, fPaint))
+ this->inval(NULL);
+ else
+ {
+ delete fInterp;
+ fInterp = NULL;
+ }
+ }
+ else
+ canvas->drawText(fText.c_str(), fText.size(), x, y, fPaint);
}
//////////////////////////////////////////////////////////////////////////////////////
void SkTextView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- const char* text = dom.findAttr(node, "text");
- if (text)
- this->setText(text);
+ const char* text = dom.findAttr(node, "text");
+ if (text)
+ this->setText(text);
- SkPoint margin;
- if (dom.findScalars(node, "margin", (SkScalar*)&margin, 2))
- this->setMargin(margin);
- (void)dom.findBool(node, "do-interp", &fDoInterp);
+ SkPoint margin;
+ if (dom.findScalars(node, "margin", (SkScalar*)&margin, 2))
+ this->setMargin(margin);
+ (void)dom.findBool(node, "do-interp", &fDoInterp);
- SkPaint_Inflate(&fPaint, dom, node);
+ SkPaint_Inflate(&fPaint, dom, node);
}
//////////////////////////////////////////////////////////////////////////////////////
SkSliderView::SkSliderView(U32 flags) : SkWidgetView(flags)
{
- fValue = 0;
- fMax = 0;
+ fValue = 0;
+ fMax = 0;
}
static U16 actual_value(U16CPU value, U16CPU max)
{
- return SkToU16(SkMax32(0, SkMin32(value, max)));
+ return SkToU16(SkMax32(0, SkMin32(value, max)));
}
void SkSliderView::setMax(U16CPU max)
{
- if (fMax != max)
- {
- fMax = SkToU16(max);
- if (fValue > 0)
- this->inval(NULL);
- }
+ if (fMax != max)
+ {
+ fMax = SkToU16(max);
+ if (fValue > 0)
+ this->inval(NULL);
+ }
}
void SkSliderView::setValue(U16CPU value)
{
- if (fValue != value)
- {
- U16 prev = actual_value(fValue, fMax);
- U16 next = actual_value(value, fMax);
-
- fValue = SkToU16(value);
- if (prev != next)
- {
- this->inval(NULL);
-
- if (this->hasListeners())
- {
- SkEvent evt;
-
- evt.setType(SkWidgetView::GetEventType());
- evt.setFast32(this->getSinkID());
- evt.setS32("sliderValue", next);
- this->postToListeners(evt);
- }
- }
- }
+ if (fValue != value)
+ {
+ U16 prev = actual_value(fValue, fMax);
+ U16 next = actual_value(value, fMax);
+
+ fValue = SkToU16(value);
+ if (prev != next)
+ {
+ this->inval(NULL);
+
+ if (this->hasListeners())
+ {
+ SkEvent evt;
+
+ evt.setType(SkWidgetView::GetEventType());
+ evt.setFast32(this->getSinkID());
+ evt.setS32("sliderValue", next);
+ this->postToListeners(evt);
+ }
+ }
+ }
}
#include "SkGradientShader.h"
static void setgrad(SkPaint* paint, const SkRect& r)
{
- SkPoint pts[2];
- SkColor colors[2];
+ SkPoint pts[2];
+ SkColor colors[2];
#if 0
- pts[0].set(r.fLeft, r.fTop);
- pts[1].set(r.fLeft + r.height(), r.fBottom);
+ pts[0].set(r.fLeft, r.fTop);
+ pts[1].set(r.fLeft + r.height(), r.fBottom);
#else
- pts[0].set(r.fRight, r.fBottom);
- pts[1].set(r.fRight - r.height(), r.fTop);
+ pts[0].set(r.fRight, r.fBottom);
+ pts[1].set(r.fRight - r.height(), r.fTop);
#endif
- colors[0] = SK_ColorBLUE;
- colors[1] = SK_ColorWHITE;
+ colors[0] = SK_ColorBLUE;
+ colors[1] = SK_ColorWHITE;
- paint->setShader(SkGradientShader::CreateLinear(pts, colors, NULL, 2, SkShader::kMirror_TileMode))->unref();
+ paint->setShader(SkGradientShader::CreateLinear(pts, colors, NULL, 2, SkShader::kMirror_TileMode))->unref();
}
void SkSliderView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- U16CPU value = SkMax32(0, SkMin32(fValue, fMax));
+ U16CPU value = SkMax32(0, SkMin32(fValue, fMax));
- SkRect r;
- SkPaint p;
+ SkRect r;
+ SkPaint p;
- r.set(0, 0, this->width(), this->height());
+ r.set(0, 0, this->width(), this->height());
- p.setAntiAliasOn(true);
- p.setStyle(SkPaint::kStroke_Style);
- p.setStrokeWidth(SK_Scalar1);
- r.inset(SK_Scalar1/2, SK_Scalar1/2);
- canvas->drawRect(r, p);
+ p.setAntiAliasOn(true);
+ p.setStyle(SkPaint::kStroke_Style);
+ p.setStrokeWidth(SK_Scalar1);
+ r.inset(SK_Scalar1/2, SK_Scalar1/2);
+ canvas->drawRect(r, p);
- if (fMax)
- {
- SkFixed percent = SkFixedDiv(value, fMax);
-
- r.inset(SK_Scalar1/2, SK_Scalar1/2);
- r.fRight = r.fLeft + SkScalarMul(r.width(), SkFixedToScalar(percent));
- p.setStyle(SkPaint::kFill_Style);
- setgrad(&p, r);
- canvas->drawRect(r, p);
- }
+ if (fMax)
+ {
+ SkFixed percent = SkFixedDiv(value, fMax);
+
+ r.inset(SK_Scalar1/2, SK_Scalar1/2);
+ r.fRight = r.fLeft + SkScalarMul(r.width(), SkFixedToScalar(percent));
+ p.setStyle(SkPaint::kFill_Style);
+ setgrad(&p, r);
+ canvas->drawRect(r, p);
+ }
#if 0
- r.set(0, 0, this->width(), this->height());
- r.inset(SK_Scalar1, SK_Scalar1);
- r.inset(r.width()/2, 0);
- p.setColor(SK_ColorBLACK);
- canvas->drawLine(*(SkPoint*)&r.fLeft, *(SkPoint*)&r.fRight, p);
+ r.set(0, 0, this->width(), this->height());
+ r.inset(SK_Scalar1, SK_Scalar1);
+ r.inset(r.width()/2, 0);
+ p.setColor(SK_ColorBLACK);
+ canvas->drawLine(*(SkPoint*)&r.fLeft, *(SkPoint*)&r.fRight, p);
#endif
}
SkView::Click* SkSliderView::onFindClickHandler(SkScalar x, SkScalar y)
{
- return new Click(this);
+ return new Click(this);
}
bool SkSliderView::onClick(Click* click)
{
- if (fMax)
- {
- SkScalar percent = SkScalarDiv(click->fCurr.fX + SK_Scalar1, this->width() - SK_Scalar1*2);
- percent = SkMaxScalar(0, SkMinScalar(percent, SK_Scalar1));
- this->setValue(SkScalarRound(percent * fMax));
- return true;
- }
- return false;
+ if (fMax)
+ {
+ SkScalar percent = SkScalarDiv(click->fCurr.fX + SK_Scalar1, this->width() - SK_Scalar1*2);
+ percent = SkMaxScalar(0, SkMinScalar(percent, SK_Scalar1));
+ this->setValue(SkScalarRound(percent * fMax));
+ return true;
+ }
+ return false;
}
#endif
diff --git a/src/views/SkWidgets.cpp b/src/views/SkWidgets.cpp
index 69d755bd8b..1693a31239 100644
--- a/src/views/SkWidgets.cpp
+++ b/src/views/SkWidgets.cpp
@@ -15,14 +15,14 @@
#if 0
#ifdef SK_DEBUG
- static void assert_no_attr(const SkDOM& dom, const SkDOM::Node* node, const char attr[])
- {
- const char* value = dom.findAttr(node, attr);
- if (value)
- SkDebugf("unknown attribute %s=\"%s\"\n", attr, value);
- }
+ static void assert_no_attr(const SkDOM& dom, const SkDOM::Node* node, const char attr[])
+ {
+ const char* value = dom.findAttr(node, attr);
+ if (value)
+ SkDebugf("unknown attribute %s=\"%s\"\n", attr, value);
+ }
#else
- #define assert_no_attr(dom, node, attr)
+ #define assert_no_attr(dom, node, attr)
#endif
#include "SkAnimator.h"
@@ -31,56 +31,56 @@
///////////////////////////////////////////////////////////////////////////////
enum SkinType {
- kPushButton_SkinType,
- kStaticText_SkinType,
+ kPushButton_SkinType,
+ kStaticText_SkinType,
- kSkinTypeCount
+ kSkinTypeCount
};
struct SkinSuite {
- SkinSuite();
- ~SkinSuite()
- {
- for (int i = 0; i < kSkinTypeCount; i++)
- delete fAnimators[i];
- }
+ SkinSuite();
+ ~SkinSuite()
+ {
+ for (int i = 0; i < kSkinTypeCount; i++)
+ delete fAnimators[i];
+ }
- SkAnimator* get(SkinType);
+ SkAnimator* get(SkinType);
private:
- SkAnimator* fAnimators[kSkinTypeCount];
+ SkAnimator* fAnimators[kSkinTypeCount];
};
SkinSuite::SkinSuite()
{
- static const char kSkinPath[] = "skins/";
+ static const char kSkinPath[] = "skins/";
- static const char* gSkinNames[] = {
- "pushbutton_skin.xml",
- "statictext_skin.xml"
- };
+ static const char* gSkinNames[] = {
+ "pushbutton_skin.xml",
+ "statictext_skin.xml"
+ };
- for (unsigned i = 0; i < SK_ARRAY_COUNT(gSkinNames); i++)
- {
- size_t len = strlen(gSkinNames[i]);
- SkString path(sizeof(kSkinPath) - 1 + len);
+ for (unsigned i = 0; i < SK_ARRAY_COUNT(gSkinNames); i++)
+ {
+ size_t len = strlen(gSkinNames[i]);
+ SkString path(sizeof(kSkinPath) - 1 + len);
- memcpy(path.writable_str(), kSkinPath, sizeof(kSkinPath) - 1);
- memcpy(path.writable_str() + sizeof(kSkinPath) - 1, gSkinNames[i], len);
+ memcpy(path.writable_str(), kSkinPath, sizeof(kSkinPath) - 1);
+ memcpy(path.writable_str() + sizeof(kSkinPath) - 1, gSkinNames[i], len);
- fAnimators[i] = new SkAnimator;
- if (!fAnimators[i]->decodeURI(path.c_str()))
- {
- delete fAnimators[i];
- fAnimators[i] = NULL;
- }
- }
+ fAnimators[i] = new SkAnimator;
+ if (!fAnimators[i]->decodeURI(path.c_str()))
+ {
+ delete fAnimators[i];
+ fAnimators[i] = NULL;
+ }
+ }
}
SkAnimator* SkinSuite::get(SkinType st)
{
- SkASSERT((unsigned)st < kSkinTypeCount);
- return fAnimators[st];
+ SkASSERT((unsigned)st < kSkinTypeCount);
+ return fAnimators[st];
}
static SkinSuite* gSkinSuite;
@@ -88,11 +88,11 @@ static SkinSuite* gSkinSuite;
static SkAnimator* get_skin_animator(SkinType st)
{
#if 0
- if (gSkinSuite == NULL)
- gSkinSuite = new SkinSuite;
- return gSkinSuite->get(st);
+ if (gSkinSuite == NULL)
+ gSkinSuite = new SkinSuite;
+ return gSkinSuite->get(st);
#else
- return NULL;
+ return NULL;
#endif
}
@@ -104,134 +104,134 @@ void SkWidget::Init()
void SkWidget::Term()
{
- delete gSkinSuite;
+ delete gSkinSuite;
}
void SkWidget::onEnabledChange()
{
- this->inval(NULL);
+ this->inval(NULL);
}
void SkWidget::postWidgetEvent()
{
- if (!fEvent.isType("") && this->hasListeners())
- {
- this->prepareWidgetEvent(&fEvent);
- this->postToListeners(fEvent);
- }
+ if (!fEvent.isType("") && this->hasListeners())
+ {
+ this->prepareWidgetEvent(&fEvent);
+ this->postToListeners(fEvent);
+ }
}
void SkWidget::prepareWidgetEvent(SkEvent*)
{
- // override in subclass to add any additional fields before posting
+ // override in subclass to add any additional fields before posting
}
void SkWidget::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- if ((node = dom.getFirstChild(node, "event")) != NULL)
- fEvent.inflate(dom, node);
+ if ((node = dom.getFirstChild(node, "event")) != NULL)
+ fEvent.inflate(dom, node);
}
///////////////////////////////////////////////////////////////////////////////
size_t SkHasLabelWidget::getLabel(SkString* str) const
{
- if (str)
- *str = fLabel;
- return fLabel.size();
+ if (str)
+ *str = fLabel;
+ return fLabel.size();
}
size_t SkHasLabelWidget::getLabel(char buffer[]) const
{
- if (buffer)
- memcpy(buffer, fLabel.c_str(), fLabel.size());
- return fLabel.size();
+ if (buffer)
+ memcpy(buffer, fLabel.c_str(), fLabel.size());
+ return fLabel.size();
}
void SkHasLabelWidget::setLabel(const SkString& str)
{
- this->setLabel(str.c_str(), str.size());
+ this->setLabel(str.c_str(), str.size());
}
void SkHasLabelWidget::setLabel(const char label[])
{
- this->setLabel(label, strlen(label));
+ this->setLabel(label, strlen(label));
}
void SkHasLabelWidget::setLabel(const char label[], size_t len)
{
- if (!fLabel.equals(label, len))
- {
- fLabel.set(label, len);
- this->onLabelChange();
- }
+ if (!fLabel.equals(label, len))
+ {
+ fLabel.set(label, len);
+ this->onLabelChange();
+ }
}
void SkHasLabelWidget::onLabelChange()
{
- // override in subclass
+ // override in subclass
}
void SkHasLabelWidget::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- const char* text = dom.findAttr(node, "label");
- if (text)
- this->setLabel(text);
+ const char* text = dom.findAttr(node, "label");
+ if (text)
+ this->setLabel(text);
}
/////////////////////////////////////////////////////////////////////////////////////
void SkButtonWidget::setButtonState(State state)
{
- if (fState != state)
- {
- fState = state;
- this->onButtonStateChange();
- }
+ if (fState != state)
+ {
+ fState = state;
+ this->onButtonStateChange();
+ }
}
void SkButtonWidget::onButtonStateChange()
{
- this->inval(NULL);
+ this->inval(NULL);
}
void SkButtonWidget::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- int index;
- if ((index = dom.findList(node, "buttonState", "off,on,unknown")) >= 0)
- this->setButtonState((State)index);
+ int index;
+ if ((index = dom.findList(node, "buttonState", "off,on,unknown")) >= 0)
+ this->setButtonState((State)index);
}
/////////////////////////////////////////////////////////////////////////////////////
bool SkPushButtonWidget::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Key) && evt.getFast32() == kOK_SkKey)
- {
- this->postWidgetEvent();
- return true;
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Key) && evt.getFast32() == kOK_SkKey)
+ {
+ this->postWidgetEvent();
+ return true;
+ }
+ return this->INHERITED::onEvent(evt);
}
static const char* computeAnimatorState(int enabled, int focused, SkButtonWidget::State state)
{
- if (!enabled)
- return "disabled";
- if (state == SkButtonWidget::kOn_State)
- {
- SkASSERT(focused);
- return "enabled-pressed";
- }
- if (focused)
- return "enabled-focused";
- return "enabled";
+ if (!enabled)
+ return "disabled";
+ if (state == SkButtonWidget::kOn_State)
+ {
+ SkASSERT(focused);
+ return "enabled-pressed";
+ }
+ if (focused)
+ return "enabled-focused";
+ return "enabled";
}
#include "SkBlurMaskFilter.h"
@@ -239,106 +239,106 @@ static const char* computeAnimatorState(int enabled, int focused, SkButtonWidget
static void create_emboss(SkPaint* paint, SkScalar radius, bool focus, bool pressed)
{
- SkEmbossMaskFilter::Light light;
+ SkEmbossMaskFilter::Light light;
- light.fDirection[0] = SK_Scalar1/2;
- light.fDirection[1] = SK_Scalar1/2;
- light.fDirection[2] = SK_Scalar1/3;
- light.fAmbient = 0x48;
- light.fSpecular = 0x80;
+ light.fDirection[0] = SK_Scalar1/2;
+ light.fDirection[1] = SK_Scalar1/2;
+ light.fDirection[2] = SK_Scalar1/3;
+ light.fAmbient = 0x48;
+ light.fSpecular = 0x80;
- if (pressed)
- {
- light.fDirection[0] = -light.fDirection[0];
- light.fDirection[1] = -light.fDirection[1];
- }
- if (focus)
- light.fDirection[2] += SK_Scalar1/4;
+ if (pressed)
+ {
+ light.fDirection[0] = -light.fDirection[0];
+ light.fDirection[1] = -light.fDirection[1];
+ }
+ if (focus)
+ light.fDirection[2] += SK_Scalar1/4;
- paint->setMaskFilter(new SkEmbossMaskFilter(light, radius))->unref();
+ paint->setMaskFilter(new SkEmbossMaskFilter(light, radius))->unref();
}
void SkPushButtonWidget::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- SkString label;
- this->getLabel(&label);
+ SkString label;
+ this->getLabel(&label);
- SkAnimator* anim = get_skin_animator(kPushButton_SkinType);
+ SkAnimator* anim = get_skin_animator(kPushButton_SkinType);
- if (anim)
- {
- SkEvent evt("user");
+ if (anim)
+ {
+ SkEvent evt("user");
- evt.setString("id", "prime");
- evt.setScalar("prime-width", this->width());
- evt.setScalar("prime-height", this->height());
- evt.setString("prime-text", label);
- evt.setString("prime-state", computeAnimatorState(this->isEnabled(), this->hasFocus(), this->getButtonState()));
+ evt.setString("id", "prime");
+ evt.setScalar("prime-width", this->width());
+ evt.setScalar("prime-height", this->height());
+ evt.setString("prime-text", label);
+ evt.setString("prime-state", computeAnimatorState(this->isEnabled(), this->hasFocus(), this->getButtonState()));
- (void)anim->doUserEvent(evt);
- SkPaint paint;
- anim->draw(canvas, &paint, SkTime::GetMSecs());
- }
- else
- {
- SkRect r;
- SkPaint p;
+ (void)anim->doUserEvent(evt);
+ SkPaint paint;
+ anim->draw(canvas, &paint, SkTime::GetMSecs());
+ }
+ else
+ {
+ SkRect r;
+ SkPaint p;
- r.set(0, 0, this->width(), this->height());
- p.setAntiAliasOn(true);
- p.setColor(SK_ColorBLUE);
- create_emboss(&p, SkIntToScalar(12)/5, this->hasFocus(), this->getButtonState() == kOn_State);
- canvas->drawRoundRect(r, SkScalarHalf(this->height()), SkScalarHalf(this->height()), p);
- p.setMaskFilter(NULL);
+ r.set(0, 0, this->width(), this->height());
+ p.setAntiAliasOn(true);
+ p.setColor(SK_ColorBLUE);
+ create_emboss(&p, SkIntToScalar(12)/5, this->hasFocus(), this->getButtonState() == kOn_State);
+ canvas->drawRoundRect(r, SkScalarHalf(this->height()), SkScalarHalf(this->height()), p);
+ p.setMaskFilter(NULL);
- p.setTextAlign(SkPaint::kCenter_Align);
+ p.setTextAlign(SkPaint::kCenter_Align);
- SkTextBox box;
- box.setMode(SkTextBox::kOneLine_Mode);
- box.setSpacingAlign(SkTextBox::kCenter_SpacingAlign);
- box.setBox(0, 0, this->width(), this->height());
+ SkTextBox box;
+ box.setMode(SkTextBox::kOneLine_Mode);
+ box.setSpacingAlign(SkTextBox::kCenter_SpacingAlign);
+ box.setBox(0, 0, this->width(), this->height());
-// if (this->getButtonState() == kOn_State)
-// p.setColor(SK_ColorRED);
-// else
- p.setColor(SK_ColorWHITE);
+// if (this->getButtonState() == kOn_State)
+// p.setColor(SK_ColorRED);
+// else
+ p.setColor(SK_ColorWHITE);
- box.draw(canvas, label.c_str(), label.size(), p);
- }
+ box.draw(canvas, label.c_str(), label.size(), p);
+ }
}
SkView::Click* SkPushButtonWidget::onFindClickHandler(SkScalar x, SkScalar y)
{
- this->acceptFocus();
- return new Click(this);
+ this->acceptFocus();
+ return new Click(this);
}
bool SkPushButtonWidget::onClick(Click* click)
{
- SkRect r;
- State state = kOff_State;
+ SkRect r;
+ State state = kOff_State;
- this->getLocalBounds(&r);
- if (r.contains(click->fCurr))
- {
- if (click->fState == Click::kUp_State)
- this->postWidgetEvent();
- else
- state = kOn_State;
- }
- this->setButtonState(state);
- return true;
+ this->getLocalBounds(&r);
+ if (r.contains(click->fCurr))
+ {
+ if (click->fState == Click::kUp_State)
+ this->postWidgetEvent();
+ else
+ state = kOn_State;
+ }
+ this->setButtonState(state);
+ return true;
}
//////////////////////////////////////////////////////////////////////////////////////////
SkStaticTextView::SkStaticTextView(U32 flags) : SkView(flags)
{
- fMargin.set(0, 0);
- fMode = kFixedSize_Mode;
- fSpacingAlign = SkTextBox::kStart_SpacingAlign;
+ fMargin.set(0, 0);
+ fMode = kFixedSize_Mode;
+ fSpacingAlign = SkTextBox::kStart_SpacingAlign;
}
SkStaticTextView::~SkStaticTextView()
@@ -347,148 +347,148 @@ SkStaticTextView::~SkStaticTextView()
void SkStaticTextView::computeSize()
{
- if (fMode == kAutoWidth_Mode)
- {
- SkScalar width = fPaint.measureText(fText.c_str(), fText.size(), NULL, NULL);
- this->setWidth(width + fMargin.fX * 2);
- }
- else if (fMode == kAutoHeight_Mode)
- {
- SkScalar width = this->width() - fMargin.fX * 2;
- int lines = width > 0 ? SkTextLineBreaker::CountLines(fText.c_str(), fText.size(), fPaint, width) : 0;
+ if (fMode == kAutoWidth_Mode)
+ {
+ SkScalar width = fPaint.measureText(fText.c_str(), fText.size(), NULL, NULL);
+ this->setWidth(width + fMargin.fX * 2);
+ }
+ else if (fMode == kAutoHeight_Mode)
+ {
+ SkScalar width = this->width() - fMargin.fX * 2;
+ int lines = width > 0 ? SkTextLineBreaker::CountLines(fText.c_str(), fText.size(), fPaint, width) : 0;
- SkScalar before, after;
- (void)fPaint.measureText(0, NULL, &before, &after);
+ SkScalar before, after;
+ (void)fPaint.measureText(0, NULL, &before, &after);
- this->setHeight(lines * (after - before) + fMargin.fY * 2);
- }
+ this->setHeight(lines * (after - before) + fMargin.fY * 2);
+ }
}
void SkStaticTextView::setMode(Mode mode)
{
- SkASSERT((unsigned)mode < kModeCount);
+ SkASSERT((unsigned)mode < kModeCount);
- if (fMode != mode)
- {
- fMode = SkToU8(mode);
- this->computeSize();
- }
+ if (fMode != mode)
+ {
+ fMode = SkToU8(mode);
+ this->computeSize();
+ }
}
void SkStaticTextView::setSpacingAlign(SkTextBox::SpacingAlign align)
{
- fSpacingAlign = SkToU8(align);
- this->inval(NULL);
+ fSpacingAlign = SkToU8(align);
+ this->inval(NULL);
}
void SkStaticTextView::getMargin(SkPoint* margin) const
{
- if (margin)
- *margin = fMargin;
+ if (margin)
+ *margin = fMargin;
}
void SkStaticTextView::setMargin(SkScalar dx, SkScalar dy)
{
- if (fMargin.fX != dx || fMargin.fY != dy)
- {
- fMargin.set(dx, dy);
- this->computeSize();
- this->inval(NULL);
- }
+ if (fMargin.fX != dx || fMargin.fY != dy)
+ {
+ fMargin.set(dx, dy);
+ this->computeSize();
+ this->inval(NULL);
+ }
}
size_t SkStaticTextView::getText(SkString* text) const
{
- if (text)
- *text = fText;
- return fText.size();
+ if (text)
+ *text = fText;
+ return fText.size();
}
size_t SkStaticTextView::getText(char text[]) const
{
- if (text)
- memcpy(text, fText.c_str(), fText.size());
- return fText.size();
+ if (text)
+ memcpy(text, fText.c_str(), fText.size());
+ return fText.size();
}
void SkStaticTextView::setText(const SkString& text)
{
- this->setText(text.c_str(), text.size());
+ this->setText(text.c_str(), text.size());
}
void SkStaticTextView::setText(const char text[])
{
- this->setText(text, strlen(text));
+ this->setText(text, strlen(text));
}
void SkStaticTextView::setText(const char text[], size_t len)
{
- if (!fText.equals(text, len))
- {
- fText.set(text, len);
- this->computeSize();
- this->inval(NULL);
- }
+ if (!fText.equals(text, len))
+ {
+ fText.set(text, len);
+ this->computeSize();
+ this->inval(NULL);
+ }
}
void SkStaticTextView::getPaint(SkPaint* paint) const
{
- if (paint)
- *paint = fPaint;
+ if (paint)
+ *paint = fPaint;
}
void SkStaticTextView::setPaint(const SkPaint& paint)
{
- if (fPaint != paint)
- {
- fPaint = paint;
- this->computeSize();
- this->inval(NULL);
- }
+ if (fPaint != paint)
+ {
+ fPaint = paint;
+ this->computeSize();
+ this->inval(NULL);
+ }
}
void SkStaticTextView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- if (fText.isEmpty())
- return;
+ if (fText.isEmpty())
+ return;
- SkTextBox box;
+ SkTextBox box;
- box.setMode(fMode == kAutoWidth_Mode ? SkTextBox::kOneLine_Mode : SkTextBox::kLineBreak_Mode);
- box.setSpacingAlign(this->getSpacingAlign());
- box.setBox(fMargin.fX, fMargin.fY, this->width() - fMargin.fX, this->height() - fMargin.fY);
- box.draw(canvas, fText.c_str(), fText.size(), fPaint);
+ box.setMode(fMode == kAutoWidth_Mode ? SkTextBox::kOneLine_Mode : SkTextBox::kLineBreak_Mode);
+ box.setSpacingAlign(this->getSpacingAlign());
+ box.setBox(fMargin.fX, fMargin.fY, this->width() - fMargin.fX, this->height() - fMargin.fY);
+ box.draw(canvas, fText.c_str(), fText.size(), fPaint);
}
void SkStaticTextView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- int index;
- if ((index = dom.findList(node, "mode", "fixed,auto-width,auto-height")) >= 0)
- this->setMode((Mode)index);
- else
- assert_no_attr(dom, node, "mode");
+ int index;
+ if ((index = dom.findList(node, "mode", "fixed,auto-width,auto-height")) >= 0)
+ this->setMode((Mode)index);
+ else
+ assert_no_attr(dom, node, "mode");
- if ((index = dom.findList(node, "spacing-align", "start,center,end")) >= 0)
- this->setSpacingAlign((SkTextBox::SpacingAlign)index);
- else
- assert_no_attr(dom, node, "mode");
+ if ((index = dom.findList(node, "spacing-align", "start,center,end")) >= 0)
+ this->setSpacingAlign((SkTextBox::SpacingAlign)index);
+ else
+ assert_no_attr(dom, node, "mode");
- SkScalar s[2];
- if (dom.findScalars(node, "margin", s, 2))
- this->setMargin(s[0], s[1]);
- else
- assert_no_attr(dom, node, "margin");
+ SkScalar s[2];
+ if (dom.findScalars(node, "margin", s, 2))
+ this->setMargin(s[0], s[1]);
+ else
+ assert_no_attr(dom, node, "margin");
- const char* text = dom.findAttr(node, "text");
- if (text)
- this->setText(text);
+ const char* text = dom.findAttr(node, "text");
+ if (text)
+ this->setText(text);
- if ((node = dom.getFirstChild(node, "paint")) != NULL)
- SkPaint_Inflate(&fPaint, dom, node);
+ if ((node = dom.getFirstChild(node, "paint")) != NULL)
+ SkPaint_Inflate(&fPaint, dom, node);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -505,56 +505,56 @@ SkBitmapView::~SkBitmapView()
bool SkBitmapView::getBitmap(SkBitmap* bitmap) const
{
- if (bitmap)
- *bitmap = fBitmap;
- return fBitmap.getConfig() != SkBitmap::kNo_Config;
+ if (bitmap)
+ *bitmap = fBitmap;
+ return fBitmap.getConfig() != SkBitmap::kNo_Config;
}
void SkBitmapView::setBitmap(const SkBitmap* bitmap, bool viewOwnsPixels)
{
- if (bitmap)
- {
- fBitmap = *bitmap;
- fBitmap.setOwnsPixels(viewOwnsPixels);
- }
+ if (bitmap)
+ {
+ fBitmap = *bitmap;
+ fBitmap.setOwnsPixels(viewOwnsPixels);
+ }
}
bool SkBitmapView::loadBitmapFromFile(const char path[])
{
- SkBitmap bitmap;
+ SkBitmap bitmap;
- if (SkImageDecoder::DecodeFile(path, &bitmap))
- {
- this->setBitmap(&bitmap, true);
- bitmap.setOwnsPixels(false);
- return true;
- }
- return false;
+ if (SkImageDecoder::DecodeFile(path, &bitmap))
+ {
+ this->setBitmap(&bitmap, true);
+ bitmap.setOwnsPixels(false);
+ return true;
+ }
+ return false;
}
void SkBitmapView::onDraw(SkCanvas* canvas)
{
- if (fBitmap.getConfig() != SkBitmap::kNo_Config &&
- fBitmap.width() && fBitmap.height())
- {
- SkAutoCanvasRestore restore(canvas, true);
- SkPaint p;
+ if (fBitmap.getConfig() != SkBitmap::kNo_Config &&
+ fBitmap.width() && fBitmap.height())
+ {
+ SkAutoCanvasRestore restore(canvas, true);
+ SkPaint p;
- p.setFilterType(SkPaint::kBilinear_FilterType);
- canvas->scale( this->width() / fBitmap.width(),
- this->height() / fBitmap.height(),
- 0, 0);
- canvas->drawBitmap(fBitmap, 0, 0, p);
- }
+ p.setFilterType(SkPaint::kBilinear_FilterType);
+ canvas->scale( this->width() / fBitmap.width(),
+ this->height() / fBitmap.height(),
+ 0, 0);
+ canvas->drawBitmap(fBitmap, 0, 0, p);
+ }
}
void SkBitmapView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- const char* src = dom.findAttr(node, "src");
- if (src)
- (void)this->loadBitmapFromFile(src);
+ const char* src = dom.findAttr(node, "src");
+ if (src)
+ (void)this->loadBitmapFromFile(src);
}
#endif
diff --git a/src/views/SkWindow.cpp b/src/views/SkWindow.cpp
index c952a61b6d..85b3803c59 100644
--- a/src/views/SkWindow.cpp
+++ b/src/views/SkWindow.cpp
@@ -19,31 +19,31 @@
#include "SkBounder.h"
class test_bounder : public SkBounder {
public:
- test_bounder(const SkBitmap& bm) : fCanvas(bm) {}
+ test_bounder(const SkBitmap& bm) : fCanvas(bm) {}
protected:
- virtual bool onIRect(const SkIRect& r)
- {
- SkRect rr;
+ virtual bool onIRect(const SkIRect& r)
+ {
+ SkRect rr;
- rr.set(SkIntToScalar(r.fLeft), SkIntToScalar(r.fTop),
- SkIntToScalar(r.fRight), SkIntToScalar(r.fBottom));
+ rr.set(SkIntToScalar(r.fLeft), SkIntToScalar(r.fTop),
+ SkIntToScalar(r.fRight), SkIntToScalar(r.fBottom));
- SkPaint p;
+ SkPaint p;
- p.setStyle(SkPaint::kStroke_Style);
- p.setColor(SK_ColorYELLOW);
+ p.setStyle(SkPaint::kStroke_Style);
+ p.setColor(SK_ColorYELLOW);
#if 0
- rr.inset(SK_ScalarHalf, SK_ScalarHalf);
+ rr.inset(SK_ScalarHalf, SK_ScalarHalf);
#else
- rr.inset(-SK_ScalarHalf, -SK_ScalarHalf);
+ rr.inset(-SK_ScalarHalf, -SK_ScalarHalf);
#endif
- fCanvas.drawRect(rr, p);
- return true;
- }
+ fCanvas.drawRect(rr, p);
+ return true;
+ }
private:
- SkCanvas fCanvas;
+ SkCanvas fCanvas;
};
SkWindow::SkWindow() : fFocusView(NULL)
@@ -87,39 +87,39 @@ void SkWindow::postConcat(const SkMatrix& matrix) {
void SkWindow::setConfig(SkBitmap::Config config)
{
- this->resize(fBitmap.width(), fBitmap.height(), config);
+ this->resize(fBitmap.width(), fBitmap.height(), config);
}
void SkWindow::resize(int width, int height, SkBitmap::Config config)
{
- if (config == SkBitmap::kNo_Config)
- config = fConfig;
-
- if (width != fBitmap.width() || height != fBitmap.height() || config != fConfig)
- {
- fConfig = config;
- fBitmap.setConfig(config, width, height);
- fBitmap.allocPixels();
+ if (config == SkBitmap::kNo_Config)
+ config = fConfig;
+
+ if (width != fBitmap.width() || height != fBitmap.height() || config != fConfig)
+ {
+ fConfig = config;
+ fBitmap.setConfig(config, width, height);
+ fBitmap.allocPixels();
fBitmap.setIsOpaque(true);
- this->setSize(SkIntToScalar(width), SkIntToScalar(height));
- this->inval(NULL);
- }
+ this->setSize(SkIntToScalar(width), SkIntToScalar(height));
+ this->inval(NULL);
+ }
}
void SkWindow::eraseARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
{
- fBitmap.eraseARGB(a, r, g, b);
+ fBitmap.eraseARGB(a, r, g, b);
}
void SkWindow::eraseRGB(U8CPU r, U8CPU g, U8CPU b)
{
- fBitmap.eraseRGB(r, g, b);
+ fBitmap.eraseRGB(r, g, b);
}
bool SkWindow::handleInval(const SkRect* localR)
{
- SkIRect ir;
+ SkIRect ir;
if (localR) {
SkRect devR;
@@ -131,13 +131,13 @@ bool SkWindow::handleInval(const SkRect* localR)
devR.round(&ir);
} else {
ir.set(0, 0,
- SkScalarRound(this->width()),
- SkScalarRound(this->height()));
+ SkScalarRound(this->width()),
+ SkScalarRound(this->height()));
}
- fDirtyRgn.op(ir, SkRegion::kUnion_Op);
+ fDirtyRgn.op(ir, SkRegion::kUnion_Op);
- this->onHandleInval(ir);
- return true;
+ this->onHandleInval(ir);
+ return true;
}
void SkWindow::forceInvalAll() {
@@ -147,9 +147,9 @@ void SkWindow::forceInvalAll() {
}
#if defined(SK_BUILD_FOR_WINCE) && defined(USE_GX_SCREEN)
- #include <windows.h>
- #include <gx.h>
- extern GXDisplayProperties gDisplayProps;
+ #include <windows.h>
+ #include <gx.h>
+ extern GXDisplayProperties gDisplayProps;
#endif
#ifdef SK_SIMULATE_FAILED_MALLOC
@@ -158,128 +158,128 @@ extern bool gEnableControlledThrow;
bool SkWindow::update(SkIRect* updateArea, SkCanvas* canvas)
{
- if (!fDirtyRgn.isEmpty())
- {
- SkBitmap bm = this->getBitmap();
+ if (!fDirtyRgn.isEmpty())
+ {
+ SkBitmap bm = this->getBitmap();
#if defined(SK_BUILD_FOR_WINCE) && defined(USE_GX_SCREEN)
- char* buffer = (char*)GXBeginDraw();
- SkASSERT(buffer);
+ char* buffer = (char*)GXBeginDraw();
+ SkASSERT(buffer);
- RECT rect;
- GetWindowRect((HWND)((SkOSWindow*)this)->getHWND(), &rect);
- buffer += rect.top * gDisplayProps.cbyPitch + rect.left * gDisplayProps.cbxPitch;
+ RECT rect;
+ GetWindowRect((HWND)((SkOSWindow*)this)->getHWND(), &rect);
+ buffer += rect.top * gDisplayProps.cbyPitch + rect.left * gDisplayProps.cbxPitch;
- bm.setPixels(buffer);
+ bm.setPixels(buffer);
#endif
- SkCanvas rasterCanvas;
+ SkCanvas rasterCanvas;
if (NULL == canvas) {
canvas = &rasterCanvas;
}
canvas->setBitmapDevice(bm);
- canvas->clipRegion(fDirtyRgn);
- if (updateArea)
- *updateArea = fDirtyRgn.getBounds();
+ canvas->clipRegion(fDirtyRgn);
+ if (updateArea)
+ *updateArea = fDirtyRgn.getBounds();
SkAutoCanvasRestore acr(canvas, true);
canvas->concat(fMatrix);
- // empty this now, so we can correctly record any inval calls that
- // might be made during the draw call.
- fDirtyRgn.setEmpty();
+ // empty this now, so we can correctly record any inval calls that
+ // might be made during the draw call.
+ fDirtyRgn.setEmpty();
#ifdef TEST_BOUNDER
- test_bounder b(bm);
- canvas->setBounder(&b);
+ test_bounder b(bm);
+ canvas->setBounder(&b);
#endif
#ifdef SK_SIMULATE_FAILED_MALLOC
- gEnableControlledThrow = true;
+ gEnableControlledThrow = true;
#endif
#ifdef SK_BUILD_FOR_WIN32
- //try {
- this->draw(canvas);
- //}
- //catch (...) {
- //}
+ //try {
+ this->draw(canvas);
+ //}
+ //catch (...) {
+ //}
#else
- this->draw(canvas);
+ this->draw(canvas);
#endif
#ifdef SK_SIMULATE_FAILED_MALLOC
- gEnableControlledThrow = false;
+ gEnableControlledThrow = false;
#endif
#ifdef TEST_BOUNDER
- canvas->setBounder(NULL);
+ canvas->setBounder(NULL);
#endif
#if defined(SK_BUILD_FOR_WINCE) && defined(USE_GX_SCREEN)
- GXEndDraw();
+ GXEndDraw();
#endif
- return true;
- }
- return false;
+ return true;
+ }
+ return false;
}
bool SkWindow::handleChar(SkUnichar uni)
{
- if (this->onHandleChar(uni))
- return true;
+ if (this->onHandleChar(uni))
+ return true;
- SkView* focus = this->getFocusView();
- if (focus == NULL)
- focus = this;
+ SkView* focus = this->getFocusView();
+ if (focus == NULL)
+ focus = this;
- SkEvent evt(SK_EventType_Unichar);
- evt.setFast32(uni);
- return focus->doEvent(evt);
+ SkEvent evt(SK_EventType_Unichar);
+ evt.setFast32(uni);
+ return focus->doEvent(evt);
}
bool SkWindow::handleKey(SkKey key)
{
- if (key == kNONE_SkKey)
- return false;
-
- if (this->onHandleKey(key))
- return true;
-
- // send an event to the focus-view
- {
- SkView* focus = this->getFocusView();
- if (focus == NULL)
- focus = this;
-
- SkEvent evt(SK_EventType_Key);
- evt.setFast32(key);
- if (focus->doEvent(evt))
- return true;
- }
-
- if (key == kUp_SkKey || key == kDown_SkKey)
- {
- if (this->moveFocus(key == kUp_SkKey ? kPrev_FocusDirection : kNext_FocusDirection) == NULL)
- this->onSetFocusView(NULL);
- return true;
- }
- return false;
+ if (key == kNONE_SkKey)
+ return false;
+
+ if (this->onHandleKey(key))
+ return true;
+
+ // send an event to the focus-view
+ {
+ SkView* focus = this->getFocusView();
+ if (focus == NULL)
+ focus = this;
+
+ SkEvent evt(SK_EventType_Key);
+ evt.setFast32(key);
+ if (focus->doEvent(evt))
+ return true;
+ }
+
+ if (key == kUp_SkKey || key == kDown_SkKey)
+ {
+ if (this->moveFocus(key == kUp_SkKey ? kPrev_FocusDirection : kNext_FocusDirection) == NULL)
+ this->onSetFocusView(NULL);
+ return true;
+ }
+ return false;
}
bool SkWindow::handleKeyUp(SkKey key)
{
if (key == kNONE_SkKey)
return false;
-
+
if (this->onHandleKeyUp(key))
return true;
-
+
//send an event to the focus-view
{
SkView* focus = this->getFocusView();
if (focus == NULL)
focus = this;
-
+
//should this one be the same?
SkEvent evt(SK_EventType_KeyUp);
evt.setFast32(key);
@@ -290,8 +290,8 @@ bool SkWindow::handleKeyUp(SkKey key)
}
void SkWindow::addMenu(SkOSMenu* menu) {
- *fMenus.append() = menu;
- this->onAddMenu(menu);
+ *fMenus.append() = menu;
+ this->onAddMenu(menu);
}
void SkWindow::setTitle(const char title[]) {
@@ -306,36 +306,36 @@ void SkWindow::setTitle(const char title[]) {
bool SkWindow::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventDelayInval))
- {
- SkRegion::Iterator iter(fDirtyRgn);
-
- for (; !iter.done(); iter.next())
- this->onHandleInval(iter.rect());
- fWaitingOnInval = false;
- return true;
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventDelayInval))
+ {
+ SkRegion::Iterator iter(fDirtyRgn);
+
+ for (; !iter.done(); iter.next())
+ this->onHandleInval(iter.rect());
+ fWaitingOnInval = false;
+ return true;
+ }
+ return this->INHERITED::onEvent(evt);
}
bool SkWindow::onGetFocusView(SkView** focus) const
{
- if (focus)
- *focus = fFocusView;
- return true;
+ if (focus)
+ *focus = fFocusView;
+ return true;
}
bool SkWindow::onSetFocusView(SkView* focus)
{
- if (fFocusView != focus)
- {
- if (fFocusView)
- fFocusView->onFocusChange(false);
- fFocusView = focus;
- if (focus)
- focus->onFocusChange(true);
- }
- return true;
+ if (fFocusView != focus)
+ {
+ if (fFocusView)
+ fFocusView->onFocusChange(false);
+ fFocusView = focus;
+ if (focus)
+ focus->onFocusChange(true);
+ }
+ return true;
}
//////////////////////////////////////////////////////////////////////
@@ -346,12 +346,12 @@ void SkWindow::onHandleInval(const SkIRect&)
bool SkWindow::onHandleChar(SkUnichar)
{
- return false;
+ return false;
}
bool SkWindow::onHandleKey(SkKey key)
{
- return false;
+ return false;
}
bool SkWindow::onHandleKeyUp(SkKey key)
@@ -365,7 +365,7 @@ bool SkWindow::handleClick(int x, int y, Click::State state, void *owner) {
bool SkWindow::onDispatchClick(int x, int y, Click::State state,
void* owner) {
- bool handled = false;
+ bool handled = false;
// First, attempt to find an existing click with this owner.
int index = -1;
@@ -376,7 +376,7 @@ bool SkWindow::onDispatchClick(int x, int y, Click::State state,
}
}
- switch (state) {
+ switch (state) {
case Click::kDown_State: {
if (index != -1) {
delete fClicks[index];
@@ -410,7 +410,7 @@ bool SkWindow::onDispatchClick(int x, int y, Click::State state,
default:
// Do nothing
break;
- }
- return handled;
+ }
+ return handled;
}
diff --git a/src/views/animated/SkBorderView.cpp b/src/views/animated/SkBorderView.cpp
index cc1c08bc79..3eff6056f9 100644
--- a/src/views/animated/SkBorderView.cpp
+++ b/src/views/animated/SkBorderView.cpp
@@ -17,80 +17,80 @@ SkBorderView::SkBorderView() : fLeft(SkIntToScalar(0)),
fTop(SkIntToScalar(0)),
fBottom(SkIntToScalar(0))
{
- fAnim.setHostEventSink(this);
- init_skin_anim(kBorder_SkinEnum, &fAnim);
+ fAnim.setHostEventSink(this);
+ init_skin_anim(kBorder_SkinEnum, &fAnim);
}
SkBorderView::~SkBorderView()
{
-
+
}
void SkBorderView::setSkin(const char skin[])
{
- init_skin_anim(skin, &fAnim);
+ init_skin_anim(skin, &fAnim);
}
/* virtual */ void SkBorderView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
}
/*virtual*/ void SkBorderView::onSizeChange()
{
- this->INHERITED::onSizeChange();
- SkEvent evt("user");
- evt.setString("id", "setDim");
- evt.setScalar("dimX", this->width());
- evt.setScalar("dimY", this->height());
- fAnim.doUserEvent(evt);
+ this->INHERITED::onSizeChange();
+ SkEvent evt("user");
+ evt.setString("id", "setDim");
+ evt.setScalar("dimX", this->width());
+ evt.setScalar("dimY", this->height());
+ fAnim.doUserEvent(evt);
}
/*virtual*/ void SkBorderView::onDraw(SkCanvas* canvas)
{
- SkPaint paint;
- SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
-
- if (diff == SkAnimator::kDifferent)
- this->inval(NULL);
- else if (diff == SkAnimator::kPartiallyDifferent)
- {
- SkRect bounds;
- fAnim.getInvalBounds(&bounds);
- this->inval(&bounds);
- }
+ SkPaint paint;
+ SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
+
+ if (diff == SkAnimator::kDifferent)
+ this->inval(NULL);
+ else if (diff == SkAnimator::kPartiallyDifferent)
+ {
+ SkRect bounds;
+ fAnim.getInvalBounds(&bounds);
+ this->inval(&bounds);
+ }
}
/*virtual*/ bool SkBorderView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Inval))
- {
- this->inval(NULL);
- return true;
- }
- if (evt.isType("recommendDim"))
- {
- evt.findScalar("leftMargin", &fLeft);
- evt.findScalar("rightMargin", &fRight);
- evt.findScalar("topMargin", &fTop);
- evt.findScalar("bottomMargin", &fBottom);
-
- //setup_views.cpp uses SkView::Layout instead of SkStackViewLayout
- //but that gives me an error
- SkStackViewLayout* layout;
- fMargin.set(fLeft, fTop, fRight, fBottom);
- if (this->getLayout())
- {
- layout = (SkStackViewLayout*)this->getLayout();
- layout->setMargin(fMargin);
- }
- else
- {
- layout = new SkStackViewLayout;
- layout->setMargin(fMargin);
- this->setLayout(layout)->unref();
- }
- this->invokeLayout();
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Inval))
+ {
+ this->inval(NULL);
+ return true;
+ }
+ if (evt.isType("recommendDim"))
+ {
+ evt.findScalar("leftMargin", &fLeft);
+ evt.findScalar("rightMargin", &fRight);
+ evt.findScalar("topMargin", &fTop);
+ evt.findScalar("bottomMargin", &fBottom);
+
+ //setup_views.cpp uses SkView::Layout instead of SkStackViewLayout
+ //but that gives me an error
+ SkStackViewLayout* layout;
+ fMargin.set(fLeft, fTop, fRight, fBottom);
+ if (this->getLayout())
+ {
+ layout = (SkStackViewLayout*)this->getLayout();
+ layout->setMargin(fMargin);
+ }
+ else
+ {
+ layout = new SkStackViewLayout;
+ layout->setMargin(fMargin);
+ this->setLayout(layout)->unref();
+ }
+ this->invokeLayout();
+ }
+ return this->INHERITED::onEvent(evt);
}
diff --git a/src/views/animated/SkImageView.cpp b/src/views/animated/SkImageView.cpp
index 8924dd32fb..a75aa73d1b 100644
--- a/src/views/animated/SkImageView.cpp
+++ b/src/views/animated/SkImageView.cpp
@@ -16,288 +16,288 @@
SkImageView::SkImageView()
{
- fMatrix = NULL;
- fScaleType = kMatrix_ScaleType;
+ fMatrix = NULL;
+ fScaleType = kMatrix_ScaleType;
- fData.fAnim = NULL; // handles initializing the other union values
- fDataIsAnim = true;
-
- fUriIsValid = false; // an empty string is not valid
+ fData.fAnim = NULL; // handles initializing the other union values
+ fDataIsAnim = true;
+
+ fUriIsValid = false; // an empty string is not valid
}
SkImageView::~SkImageView()
{
- if (fMatrix)
- sk_free(fMatrix);
-
- this->freeData();
+ if (fMatrix)
+ sk_free(fMatrix);
+
+ this->freeData();
}
void SkImageView::getUri(SkString* uri) const
{
- if (uri)
- *uri = fUri;
+ if (uri)
+ *uri = fUri;
}
void SkImageView::setUri(const char uri[])
{
- if (!fUri.equals(uri))
- {
- fUri.set(uri);
- this->onUriChange();
- }
+ if (!fUri.equals(uri))
+ {
+ fUri.set(uri);
+ this->onUriChange();
+ }
}
void SkImageView::setUri(const SkString& uri)
{
- if (fUri != uri)
- {
- fUri = uri;
- this->onUriChange();
- }
+ if (fUri != uri)
+ {
+ fUri = uri;
+ this->onUriChange();
+ }
}
void SkImageView::setScaleType(ScaleType st)
{
- SkASSERT((unsigned)st <= kFitEnd_ScaleType);
-
- if ((ScaleType)fScaleType != st)
- {
- fScaleType = SkToU8(st);
- if (fUriIsValid)
- this->inval(NULL);
- }
+ SkASSERT((unsigned)st <= kFitEnd_ScaleType);
+
+ if ((ScaleType)fScaleType != st)
+ {
+ fScaleType = SkToU8(st);
+ if (fUriIsValid)
+ this->inval(NULL);
+ }
}
bool SkImageView::getImageMatrix(SkMatrix* matrix) const
{
- if (fMatrix)
- {
- SkASSERT(!fMatrix->isIdentity());
- if (matrix)
- *matrix = *fMatrix;
- return true;
- }
- else
- {
- if (matrix)
- matrix->reset();
- return false;
- }
+ if (fMatrix)
+ {
+ SkASSERT(!fMatrix->isIdentity());
+ if (matrix)
+ *matrix = *fMatrix;
+ return true;
+ }
+ else
+ {
+ if (matrix)
+ matrix->reset();
+ return false;
+ }
}
void SkImageView::setImageMatrix(const SkMatrix* matrix)
{
- bool changed = false;
-
- if (matrix && !matrix->isIdentity())
- {
- if (fMatrix == NULL)
- fMatrix = (SkMatrix*)sk_malloc_throw(sizeof(SkMatrix));
- *fMatrix = *matrix;
- changed = true;
- }
- else // set us to identity
- {
- if (fMatrix)
- {
- SkASSERT(!fMatrix->isIdentity());
- sk_free(fMatrix);
- fMatrix = NULL;
- changed = true;
- }
- }
-
- // only redraw if we changed our matrix and we're not in scaleToFit mode
- if (changed && this->getScaleType() == kMatrix_ScaleType && fUriIsValid)
- this->inval(NULL);
+ bool changed = false;
+
+ if (matrix && !matrix->isIdentity())
+ {
+ if (fMatrix == NULL)
+ fMatrix = (SkMatrix*)sk_malloc_throw(sizeof(SkMatrix));
+ *fMatrix = *matrix;
+ changed = true;
+ }
+ else // set us to identity
+ {
+ if (fMatrix)
+ {
+ SkASSERT(!fMatrix->isIdentity());
+ sk_free(fMatrix);
+ fMatrix = NULL;
+ changed = true;
+ }
+ }
+
+ // only redraw if we changed our matrix and we're not in scaleToFit mode
+ if (changed && this->getScaleType() == kMatrix_ScaleType && fUriIsValid)
+ this->inval(NULL);
}
///////////////////////////////////////////////////////////////////////////////////////////////
bool SkImageView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Inval))
- {
- if (fUriIsValid)
- this->inval(NULL);
- return true;
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Inval))
+ {
+ if (fUriIsValid)
+ this->inval(NULL);
+ return true;
+ }
+ return this->INHERITED::onEvent(evt);
}
static inline SkMatrix::ScaleToFit scaleTypeToScaleToFit(SkImageView::ScaleType st)
{
- SkASSERT(st != SkImageView::kMatrix_ScaleType);
- SkASSERT((unsigned)st <= SkImageView::kFitEnd_ScaleType);
-
- SkASSERT(SkImageView::kFitXY_ScaleType - 1 == SkMatrix::kFill_ScaleToFit);
- SkASSERT(SkImageView::kFitStart_ScaleType - 1 == SkMatrix::kStart_ScaleToFit);
- SkASSERT(SkImageView::kFitCenter_ScaleType - 1 == SkMatrix::kCenter_ScaleToFit);
- SkASSERT(SkImageView::kFitEnd_ScaleType - 1 == SkMatrix::kEnd_ScaleToFit);
-
- return (SkMatrix::ScaleToFit)(st - 1);
+ SkASSERT(st != SkImageView::kMatrix_ScaleType);
+ SkASSERT((unsigned)st <= SkImageView::kFitEnd_ScaleType);
+
+ SkASSERT(SkImageView::kFitXY_ScaleType - 1 == SkMatrix::kFill_ScaleToFit);
+ SkASSERT(SkImageView::kFitStart_ScaleType - 1 == SkMatrix::kStart_ScaleToFit);
+ SkASSERT(SkImageView::kFitCenter_ScaleType - 1 == SkMatrix::kCenter_ScaleToFit);
+ SkASSERT(SkImageView::kFitEnd_ScaleType - 1 == SkMatrix::kEnd_ScaleToFit);
+
+ return (SkMatrix::ScaleToFit)(st - 1);
}
void SkImageView::onDraw(SkCanvas* canvas)
{
- SkRect src;
- if (!this->getDataBounds(&src))
- {
- SkDEBUGCODE(canvas->drawColor(SK_ColorRED);)
- return; // nothing to draw
- }
-
- SkAutoCanvasRestore restore(canvas, true);
- SkMatrix matrix;
-
- if (this->getScaleType() == kMatrix_ScaleType)
- (void)this->getImageMatrix(&matrix);
- else
- {
- SkRect dst;
- dst.set(0, 0, this->width(), this->height());
- matrix.setRectToRect(src, dst, scaleTypeToScaleToFit(this->getScaleType()));
- }
- canvas->concat(matrix);
-
- SkPaint paint;
-
- paint.setAntiAlias(true);
-
- if (fDataIsAnim)
- {
- SkMSec now = SkTime::GetMSecs();
-
- SkAnimator::DifferenceType diff = fData.fAnim->draw(canvas, &paint, now);
-
+ SkRect src;
+ if (!this->getDataBounds(&src))
+ {
+ SkDEBUGCODE(canvas->drawColor(SK_ColorRED);)
+ return; // nothing to draw
+ }
+
+ SkAutoCanvasRestore restore(canvas, true);
+ SkMatrix matrix;
+
+ if (this->getScaleType() == kMatrix_ScaleType)
+ (void)this->getImageMatrix(&matrix);
+ else
+ {
+ SkRect dst;
+ dst.set(0, 0, this->width(), this->height());
+ matrix.setRectToRect(src, dst, scaleTypeToScaleToFit(this->getScaleType()));
+ }
+ canvas->concat(matrix);
+
+ SkPaint paint;
+
+ paint.setAntiAlias(true);
+
+ if (fDataIsAnim)
+ {
+ SkMSec now = SkTime::GetMSecs();
+
+ SkAnimator::DifferenceType diff = fData.fAnim->draw(canvas, &paint, now);
+
SkDEBUGF(("SkImageView : now = %X[%12.3f], diff = %d\n", now, now/1000., diff));
- if (diff == SkAnimator::kDifferent)
- this->inval(NULL);
- else if (diff == SkAnimator::kPartiallyDifferent)
- {
- SkRect bounds;
- fData.fAnim->getInvalBounds(&bounds);
- matrix.mapRect(&bounds); // get the bounds into view coordinates
- this->inval(&bounds);
- }
- }
- else
- canvas->drawBitmap(*fData.fBitmap, 0, 0, &paint);
+ if (diff == SkAnimator::kDifferent)
+ this->inval(NULL);
+ else if (diff == SkAnimator::kPartiallyDifferent)
+ {
+ SkRect bounds;
+ fData.fAnim->getInvalBounds(&bounds);
+ matrix.mapRect(&bounds); // get the bounds into view coordinates
+ this->inval(&bounds);
+ }
+ }
+ else
+ canvas->drawBitmap(*fData.fBitmap, 0, 0, &paint);
}
void SkImageView::onInflate(const SkDOM& dom, const SkDOMNode* node)
{
- this->INHERITED::onInflate(dom, node);
-
- const char* src = dom.findAttr(node, "src");
- if (src)
- this->setUri(src);
-
- int index = dom.findList(node, "scaleType", "matrix,fitXY,fitStart,fitCenter,fitEnd");
- if (index >= 0)
- this->setScaleType((ScaleType)index);
-
- // need inflate syntax/reader for matrix
+ this->INHERITED::onInflate(dom, node);
+
+ const char* src = dom.findAttr(node, "src");
+ if (src)
+ this->setUri(src);
+
+ int index = dom.findList(node, "scaleType", "matrix,fitXY,fitStart,fitCenter,fitEnd");
+ if (index >= 0)
+ this->setScaleType((ScaleType)index);
+
+ // need inflate syntax/reader for matrix
}
/////////////////////////////////////////////////////////////////////////////////////
void SkImageView::onUriChange()
{
- if (this->freeData())
- this->inval(NULL);
- fUriIsValid = true; // give ensureUriIsLoaded() a shot at the new uri
+ if (this->freeData())
+ this->inval(NULL);
+ fUriIsValid = true; // give ensureUriIsLoaded() a shot at the new uri
}
bool SkImageView::freeData()
{
- if (fData.fAnim) // test is valid for all union values
- {
- if (fDataIsAnim)
- delete fData.fAnim;
- else
- delete fData.fBitmap;
-
- fData.fAnim = NULL; // valid for all union values
- return true;
- }
- return false;
+ if (fData.fAnim) // test is valid for all union values
+ {
+ if (fDataIsAnim)
+ delete fData.fAnim;
+ else
+ delete fData.fBitmap;
+
+ fData.fAnim = NULL; // valid for all union values
+ return true;
+ }
+ return false;
}
bool SkImageView::getDataBounds(SkRect* bounds)
{
- SkASSERT(bounds);
-
- if (this->ensureUriIsLoaded())
- {
- SkScalar width, height;
-
- if (fDataIsAnim)
- {
- if (SkScalarIsNaN(width = fData.fAnim->getScalar("dimensions", "x")) ||
- SkScalarIsNaN(height = fData.fAnim->getScalar("dimensions", "y")))
- {
- // cons up fake bounds
- width = this->width();
- height = this->height();
- }
- }
- else
- {
- width = SkIntToScalar(fData.fBitmap->width());
- height = SkIntToScalar(fData.fBitmap->height());
- }
- bounds->set(0, 0, width, height);
- return true;
- }
- return false;
+ SkASSERT(bounds);
+
+ if (this->ensureUriIsLoaded())
+ {
+ SkScalar width, height;
+
+ if (fDataIsAnim)
+ {
+ if (SkScalarIsNaN(width = fData.fAnim->getScalar("dimensions", "x")) ||
+ SkScalarIsNaN(height = fData.fAnim->getScalar("dimensions", "y")))
+ {
+ // cons up fake bounds
+ width = this->width();
+ height = this->height();
+ }
+ }
+ else
+ {
+ width = SkIntToScalar(fData.fBitmap->width());
+ height = SkIntToScalar(fData.fBitmap->height());
+ }
+ bounds->set(0, 0, width, height);
+ return true;
+ }
+ return false;
}
bool SkImageView::ensureUriIsLoaded()
{
- if (fData.fAnim) // test is valid for all union values
- {
- SkASSERT(fUriIsValid);
- return true;
- }
- if (!fUriIsValid)
- return false;
-
- // try to load the url
- if (fUri.endsWith(".xml")) // assume it is screenplay
- {
- SkAnimator* anim = new SkAnimator;
-
- if (!anim->decodeURI(fUri.c_str()))
- {
- delete anim;
- fUriIsValid = false;
- return false;
- }
- anim->setHostEventSink(this);
-
- fData.fAnim = anim;
- fDataIsAnim = true;
- }
- else // assume it is an image format
- {
+ if (fData.fAnim) // test is valid for all union values
+ {
+ SkASSERT(fUriIsValid);
+ return true;
+ }
+ if (!fUriIsValid)
+ return false;
+
+ // try to load the url
+ if (fUri.endsWith(".xml")) // assume it is screenplay
+ {
+ SkAnimator* anim = new SkAnimator;
+
+ if (!anim->decodeURI(fUri.c_str()))
+ {
+ delete anim;
+ fUriIsValid = false;
+ return false;
+ }
+ anim->setHostEventSink(this);
+
+ fData.fAnim = anim;
+ fDataIsAnim = true;
+ }
+ else // assume it is an image format
+ {
#if 0
- SkBitmap* bitmap = new SkBitmap;
-
- if (!SkImageDecoder::DecodeURL(fUri.c_str(), bitmap))
- {
- delete bitmap;
- fUriIsValid = false;
- return false;
- }
- fData.fBitmap = bitmap;
- fDataIsAnim = false;
+ SkBitmap* bitmap = new SkBitmap;
+
+ if (!SkImageDecoder::DecodeURL(fUri.c_str(), bitmap))
+ {
+ delete bitmap;
+ fUriIsValid = false;
+ return false;
+ }
+ fData.fBitmap = bitmap;
+ fDataIsAnim = false;
#else
return false;
#endif
- }
- return true;
+ }
+ return true;
}
diff --git a/src/views/animated/SkListView.cpp b/src/views/animated/SkListView.cpp
index 20747a285a..ec9d2ee7b0 100644
--- a/src/views/animated/SkListView.cpp
+++ b/src/views/animated/SkListView.cpp
@@ -16,192 +16,192 @@
SkEvent* SkListSource::getEvent(int index)
{
- return NULL;
+ return NULL;
}
#include "SkOSFile.h"
class SkDirListSource : public SkListSource {
public:
- SkDirListSource(const char path[], const char suffix[], const char target[])
- : fPath(path), fSuffix(suffix), fTarget(target)
- {
- fCount = -1;
- }
- virtual int countRows()
- {
- if (fCount < 0)
- {
- fCount = 0;
- fIter.reset(fPath.c_str(), fSuffix.c_str());
- while (fIter.next(NULL))
- fCount += 1;
- fIter.reset(fPath.c_str(), fSuffix.c_str());
- fIndex = 0;
- }
- return fCount;
- }
- virtual void getRow(int index, SkString* left, SkString* right)
- {
- (void)this->countRows();
- SkASSERT((unsigned)index < (unsigned)fCount);
-
- if (fIndex > index)
- {
- fIter.reset(fPath.c_str(), fSuffix.c_str());
- fIndex = 0;
- }
-
- while (fIndex < index)
- {
- fIter.next(NULL);
- fIndex += 1;
- }
-
- if (fIter.next(left))
- {
- if (left)
- left->remove(left->size() - fSuffix.size(), fSuffix.size());
- }
- else
- {
- if (left)
- left->reset();
- }
- if (right) // only set to ">" if we know we're on a sub-directory
- right->reset();
-
- fIndex += 1;
- }
- virtual SkEvent* getEvent(int index)
- {
- SkASSERT((unsigned)index < (unsigned)fCount);
-
- SkEvent* evt = new SkEvent();
- SkString label;
-
- this->getRow(index, &label, NULL);
- evt->setString("name", label.c_str());
-
- int c = fPath.c_str()[fPath.size() - 1];
- if (c != '/' && c != '\\')
- label.prepend("/");
- label.prepend(fPath);
- label.append(fSuffix);
- evt->setString("path", label.c_str());
- evt->setS32("index", index);
- evt->setS32("duration", 22);
- evt->setType(fTarget);
- return evt;
- }
+ SkDirListSource(const char path[], const char suffix[], const char target[])
+ : fPath(path), fSuffix(suffix), fTarget(target)
+ {
+ fCount = -1;
+ }
+ virtual int countRows()
+ {
+ if (fCount < 0)
+ {
+ fCount = 0;
+ fIter.reset(fPath.c_str(), fSuffix.c_str());
+ while (fIter.next(NULL))
+ fCount += 1;
+ fIter.reset(fPath.c_str(), fSuffix.c_str());
+ fIndex = 0;
+ }
+ return fCount;
+ }
+ virtual void getRow(int index, SkString* left, SkString* right)
+ {
+ (void)this->countRows();
+ SkASSERT((unsigned)index < (unsigned)fCount);
+
+ if (fIndex > index)
+ {
+ fIter.reset(fPath.c_str(), fSuffix.c_str());
+ fIndex = 0;
+ }
+
+ while (fIndex < index)
+ {
+ fIter.next(NULL);
+ fIndex += 1;
+ }
+
+ if (fIter.next(left))
+ {
+ if (left)
+ left->remove(left->size() - fSuffix.size(), fSuffix.size());
+ }
+ else
+ {
+ if (left)
+ left->reset();
+ }
+ if (right) // only set to ">" if we know we're on a sub-directory
+ right->reset();
+
+ fIndex += 1;
+ }
+ virtual SkEvent* getEvent(int index)
+ {
+ SkASSERT((unsigned)index < (unsigned)fCount);
+
+ SkEvent* evt = new SkEvent();
+ SkString label;
+
+ this->getRow(index, &label, NULL);
+ evt->setString("name", label.c_str());
+
+ int c = fPath.c_str()[fPath.size() - 1];
+ if (c != '/' && c != '\\')
+ label.prepend("/");
+ label.prepend(fPath);
+ label.append(fSuffix);
+ evt->setString("path", label.c_str());
+ evt->setS32("index", index);
+ evt->setS32("duration", 22);
+ evt->setType(fTarget);
+ return evt;
+ }
private:
- SkString fPath, fSuffix;
- SkString fTarget;
- SkOSFile::Iter fIter;
- int fCount;
- int fIndex;
+ SkString fPath, fSuffix;
+ SkString fTarget;
+ SkOSFile::Iter fIter;
+ int fCount;
+ int fIndex;
};
SkListSource* SkListSource::CreateFromDir(const char path[], const char suffix[], const char target[])
{
- return new SkDirListSource(path, suffix, target);
+ return new SkDirListSource(path, suffix, target);
}
//////////////////////////////////////////////////////////////////
class SkDOMListSource : public SkListSource {
public:
- enum Type {
- kUnknown_Type,
- kDir_Type,
- kToggle_Type
- };
- struct ItemRec {
- SkString fLabel;
- SkString fTail, fAltTail;
- SkString fTarget;
- Type fType;
- };
-
- SkDOMListSource(const SkDOM& dom, const SkDOM::Node* node) : fDirTail(">")
- {
- const SkDOM::Node* child = dom.getFirstChild(node, "item");
- int count = 0;
-
- while (child)
- {
- count += 1;
- child = dom.getNextSibling(child, "item");
- }
-
- fCount = count;
- fList = NULL;
- if (count)
- {
- ItemRec* rec = fList = new ItemRec[count];
-
- child = dom.getFirstChild(node, "item");
- while (child)
- {
- rec->fLabel.set(dom.findAttr(child, "label"));
- rec->fTail.set(dom.findAttr(child, "tail"));
- rec->fAltTail.set(dom.findAttr(child, "alt-tail"));
- rec->fTarget.set(dom.findAttr(child, "target"));
- rec->fType = kUnknown_Type;
-
- int index = dom.findList(child, "type", "dir,toggle");
- if (index >= 0)
- rec->fType = (Type)(index + 1);
-
- child = dom.getNextSibling(child, "item");
- rec += 1;
- }
- }
- }
- virtual ~SkDOMListSource()
- {
- delete[] fList;
- }
- virtual int countRows()
- {
- return fCount;
- }
- virtual void getRow(int index, SkString* left, SkString* right)
- {
- SkASSERT((unsigned)index < (unsigned)fCount);
-
- if (left)
- *left = fList[index].fLabel;
- if (right)
- *right = fList[index].fType == kDir_Type ? fDirTail : fList[index].fTail;
- }
- virtual SkEvent* getEvent(int index)
- {
- SkASSERT((unsigned)index < (unsigned)fCount);
-
- if (fList[index].fType == kDir_Type)
- {
- SkEvent* evt = new SkEvent();
- evt->setType(fList[index].fTarget);
- evt->setFast32(index);
- return evt;
- }
- if (fList[index].fType == kToggle_Type)
- fList[index].fTail.swap(fList[index].fAltTail);
-
- return NULL;
- }
+ enum Type {
+ kUnknown_Type,
+ kDir_Type,
+ kToggle_Type
+ };
+ struct ItemRec {
+ SkString fLabel;
+ SkString fTail, fAltTail;
+ SkString fTarget;
+ Type fType;
+ };
+
+ SkDOMListSource(const SkDOM& dom, const SkDOM::Node* node) : fDirTail(">")
+ {
+ const SkDOM::Node* child = dom.getFirstChild(node, "item");
+ int count = 0;
+
+ while (child)
+ {
+ count += 1;
+ child = dom.getNextSibling(child, "item");
+ }
+
+ fCount = count;
+ fList = NULL;
+ if (count)
+ {
+ ItemRec* rec = fList = new ItemRec[count];
+
+ child = dom.getFirstChild(node, "item");
+ while (child)
+ {
+ rec->fLabel.set(dom.findAttr(child, "label"));
+ rec->fTail.set(dom.findAttr(child, "tail"));
+ rec->fAltTail.set(dom.findAttr(child, "alt-tail"));
+ rec->fTarget.set(dom.findAttr(child, "target"));
+ rec->fType = kUnknown_Type;
+
+ int index = dom.findList(child, "type", "dir,toggle");
+ if (index >= 0)
+ rec->fType = (Type)(index + 1);
+
+ child = dom.getNextSibling(child, "item");
+ rec += 1;
+ }
+ }
+ }
+ virtual ~SkDOMListSource()
+ {
+ delete[] fList;
+ }
+ virtual int countRows()
+ {
+ return fCount;
+ }
+ virtual void getRow(int index, SkString* left, SkString* right)
+ {
+ SkASSERT((unsigned)index < (unsigned)fCount);
+
+ if (left)
+ *left = fList[index].fLabel;
+ if (right)
+ *right = fList[index].fType == kDir_Type ? fDirTail : fList[index].fTail;
+ }
+ virtual SkEvent* getEvent(int index)
+ {
+ SkASSERT((unsigned)index < (unsigned)fCount);
+
+ if (fList[index].fType == kDir_Type)
+ {
+ SkEvent* evt = new SkEvent();
+ evt->setType(fList[index].fTarget);
+ evt->setFast32(index);
+ return evt;
+ }
+ if (fList[index].fType == kToggle_Type)
+ fList[index].fTail.swap(fList[index].fAltTail);
+
+ return NULL;
+ }
private:
- int fCount;
- ItemRec* fList;
- SkString fDirTail;
+ int fCount;
+ ItemRec* fList;
+ SkString fDirTail;
};
SkListSource* SkListSource::CreateFromDOM(const SkDOM& dom, const SkDOM::Node* node)
{
- return new SkDOMListSource(dom, node);
+ return new SkDOMListSource(dom, node);
}
//////////////////////////////////////////////////////////////////
@@ -209,304 +209,304 @@ SkListSource* SkListSource::CreateFromDOM(const SkDOM& dom, const SkDOM::Node* n
SkListView::SkListView(U32 flags) : SkWidgetView(flags)
{
- fSource = NULL;
- fScrollIndex = 0;
- fCurrIndex = -1;
- fRowHeight = SkIntToScalar(16);
- fVisibleRowCount = 0;
- fStrCache = NULL;
+ fSource = NULL;
+ fScrollIndex = 0;
+ fCurrIndex = -1;
+ fRowHeight = SkIntToScalar(16);
+ fVisibleRowCount = 0;
+ fStrCache = NULL;
- fPaint[kBG_Attr].setColor(0);
- fPaint[kNormalText_Attr].setTextSize(SkIntToScalar(14));
- fPaint[kHiliteText_Attr].setTextSize(SkIntToScalar(14));
- fPaint[kHiliteText_Attr].setColor(SK_ColorWHITE);
- fPaint[kHiliteCell_Attr].setColor(SK_ColorBLUE);
+ fPaint[kBG_Attr].setColor(0);
+ fPaint[kNormalText_Attr].setTextSize(SkIntToScalar(14));
+ fPaint[kHiliteText_Attr].setTextSize(SkIntToScalar(14));
+ fPaint[kHiliteText_Attr].setColor(SK_ColorWHITE);
+ fPaint[kHiliteCell_Attr].setColor(SK_ColorBLUE);
}
SkListView::~SkListView()
{
- delete[] fStrCache;
- fSource->safeUnref();
+ delete[] fStrCache;
+ fSource->safeUnref();
}
void SkListView::setRowHeight(SkScalar height)
{
- SkASSERT(height >= 0);
+ SkASSERT(height >= 0);
- if (fRowHeight != height)
- {
- fRowHeight = height;
- this->inval(NULL);
- this->onSizeChange();
- }
+ if (fRowHeight != height)
+ {
+ fRowHeight = height;
+ this->inval(NULL);
+ this->onSizeChange();
+ }
}
void SkListView::setSelection(int index)
{
- if (fCurrIndex != index)
- {
- this->invalSelection();
- fCurrIndex = index;
- this->invalSelection();
- this->ensureSelectionIsVisible();
+ if (fCurrIndex != index)
+ {
+ this->invalSelection();
+ fCurrIndex = index;
+ this->invalSelection();
+ this->ensureSelectionIsVisible();
- {
- SkEvent evt;
- evt.setType("listview-selection");
- evt.setFast32(index);
- this->sendEventToParents(evt);
- }
- }
+ {
+ SkEvent evt;
+ evt.setType("listview-selection");
+ evt.setFast32(index);
+ this->sendEventToParents(evt);
+ }
+ }
}
void SkListView::moveSelectionUp()
{
- if (fSource)
- {
- int index = fCurrIndex;
- if (index < 0) // no selection
- index = fSource->countRows() - 1;
- else
- index = SkMax32(index - 1, 0);
- this->setSelection(index);
- }
+ if (fSource)
+ {
+ int index = fCurrIndex;
+ if (index < 0) // no selection
+ index = fSource->countRows() - 1;
+ else
+ index = SkMax32(index - 1, 0);
+ this->setSelection(index);
+ }
}
void SkListView::moveSelectionDown()
{
- if (fSource)
- {
- int index = fCurrIndex;
- if (index < 0) // no selection
- index = 0;
- else
- index = SkMin32(index + 1, fSource->countRows() - 1);
- this->setSelection(index);
- }
+ if (fSource)
+ {
+ int index = fCurrIndex;
+ if (index < 0) // no selection
+ index = 0;
+ else
+ index = SkMin32(index + 1, fSource->countRows() - 1);
+ this->setSelection(index);
+ }
}
void SkListView::invalSelection()
{
- SkRect r;
- if (this->getRowRect(fCurrIndex, &r))
- this->inval(&r);
+ SkRect r;
+ if (this->getRowRect(fCurrIndex, &r))
+ this->inval(&r);
}
void SkListView::ensureSelectionIsVisible()
{
- if (fSource == NULL)
- return;
+ if (fSource == NULL)
+ return;
- if ((unsigned)fCurrIndex < (unsigned)fSource->countRows())
- {
- int index = this->logicalToVisualIndex(fCurrIndex);
+ if ((unsigned)fCurrIndex < (unsigned)fSource->countRows())
+ {
+ int index = this->logicalToVisualIndex(fCurrIndex);
- if ((unsigned)index >= (unsigned)fVisibleRowCount) // need to scroll
- {
- if (index < 0) // too high
- fScrollIndex = fCurrIndex;
- else
- fScrollIndex = fCurrIndex - fVisibleRowCount + 1;
- SkASSERT((unsigned)fScrollIndex < (unsigned)fSource->countRows());
+ if ((unsigned)index >= (unsigned)fVisibleRowCount) // need to scroll
+ {
+ if (index < 0) // too high
+ fScrollIndex = fCurrIndex;
+ else
+ fScrollIndex = fCurrIndex - fVisibleRowCount + 1;
+ SkASSERT((unsigned)fScrollIndex < (unsigned)fSource->countRows());
- this->dirtyStrCache();
- this->inval(NULL);
- }
- }
+ this->dirtyStrCache();
+ this->inval(NULL);
+ }
+ }
}
bool SkListView::getRowRect(int index, SkRect* r) const
{
- SkASSERT(r);
- index = this->logicalToVisualIndex(index);
- if (index >= 0)
- {
- SkScalar top = index * fRowHeight;
+ SkASSERT(r);
+ index = this->logicalToVisualIndex(index);
+ if (index >= 0)
+ {
+ SkScalar top = index * fRowHeight;
- if (top < this->height())
- {
- if (r)
- r->set(0, top, this->width(), top + fRowHeight);
- return true;
- }
- }
- return false;
+ if (top < this->height())
+ {
+ if (r)
+ r->set(0, top, this->width(), top + fRowHeight);
+ return true;
+ }
+ }
+ return false;
}
SkPaint& SkListView::paint(Attr attr)
{
- SkASSERT((unsigned)attr < kAttrCount);
- return fPaint[attr];
+ SkASSERT((unsigned)attr < kAttrCount);
+ return fPaint[attr];
}
SkListSource* SkListView::setListSource(SkListSource* src)
{
- if (fSource != src)
- {
- SkRefCnt_SafeAssign(fSource, src);
- this->dirtyStrCache();
- this->ensureSelectionIsVisible();
- this->inval(NULL);
- }
- return src;
+ if (fSource != src)
+ {
+ SkRefCnt_SafeAssign(fSource, src);
+ this->dirtyStrCache();
+ this->ensureSelectionIsVisible();
+ this->inval(NULL);
+ }
+ return src;
}
void SkListView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- canvas->drawPaint(fPaint[kBG_Attr]);
+ canvas->drawPaint(fPaint[kBG_Attr]);
- int visibleCount = SkMin32(fVisibleRowCount, fSource->countRows() - fScrollIndex);
- if (visibleCount == 0)
- return;
+ int visibleCount = SkMin32(fVisibleRowCount, fSource->countRows() - fScrollIndex);
+ if (visibleCount == 0)
+ return;
- this->ensureStrCache(visibleCount);
- int currIndex = this->logicalToVisualIndex(fCurrIndex);
+ this->ensureStrCache(visibleCount);
+ int currIndex = this->logicalToVisualIndex(fCurrIndex);
- if ((unsigned)currIndex < (unsigned)visibleCount)
- {
- SkAutoCanvasRestore restore(canvas, true);
- SkRect r;
+ if ((unsigned)currIndex < (unsigned)visibleCount)
+ {
+ SkAutoCanvasRestore restore(canvas, true);
+ SkRect r;
- canvas->translate(0, currIndex * fRowHeight);
- (void)this->getRowRect(fScrollIndex, &r);
- canvas->drawRect(r, fPaint[kHiliteCell_Attr]);
- }
+ canvas->translate(0, currIndex * fRowHeight);
+ (void)this->getRowRect(fScrollIndex, &r);
+ canvas->drawRect(r, fPaint[kHiliteCell_Attr]);
+ }
- SkPaint* p;
- SkScalar y, x = SkIntToScalar(6);
- SkScalar rite = this->width() - x;
+ SkPaint* p;
+ SkScalar y, x = SkIntToScalar(6);
+ SkScalar rite = this->width() - x;
- {
- SkScalar ascent, descent;
- fPaint[kNormalText_Attr].measureText(0, NULL, &ascent, &descent);
- y = SkScalarHalf(fRowHeight - descent + ascent) - ascent;
- }
+ {
+ SkScalar ascent, descent;
+ fPaint[kNormalText_Attr].measureText(0, NULL, &ascent, &descent);
+ y = SkScalarHalf(fRowHeight - descent + ascent) - ascent;
+ }
- for (int i = 0; i < visibleCount; i++)
- {
- if (i == currIndex)
- p = &fPaint[kHiliteText_Attr];
- else
- p = &fPaint[kNormalText_Attr];
+ for (int i = 0; i < visibleCount; i++)
+ {
+ if (i == currIndex)
+ p = &fPaint[kHiliteText_Attr];
+ else
+ p = &fPaint[kNormalText_Attr];
- p->setTextAlign(SkPaint::kLeft_Align);
- canvas->drawText(fStrCache[i].c_str(), fStrCache[i].size(), x, y, *p);
- p->setTextAlign(SkPaint::kRight_Align);
- canvas->drawText(fStrCache[i + visibleCount].c_str(), fStrCache[i + visibleCount].size(), rite, y, *p);
- canvas->translate(0, fRowHeight);
- }
+ p->setTextAlign(SkPaint::kLeft_Align);
+ canvas->drawText(fStrCache[i].c_str(), fStrCache[i].size(), x, y, *p);
+ p->setTextAlign(SkPaint::kRight_Align);
+ canvas->drawText(fStrCache[i + visibleCount].c_str(), fStrCache[i + visibleCount].size(), rite, y, *p);
+ canvas->translate(0, fRowHeight);
+ }
}
void SkListView::onSizeChange()
{
- SkScalar count = SkScalarDiv(this->height(), fRowHeight);
- int n = SkScalarFloor(count);
+ SkScalar count = SkScalarDiv(this->height(), fRowHeight);
+ int n = SkScalarFloor(count);
- // only want to show rows that are mostly visible
- if (n == 0 || count - SkIntToScalar(n) > SK_Scalar1*75/100)
- n += 1;
+ // only want to show rows that are mostly visible
+ if (n == 0 || count - SkIntToScalar(n) > SK_Scalar1*75/100)
+ n += 1;
- if (fVisibleRowCount != n)
- {
- fVisibleRowCount = n;
- this->ensureSelectionIsVisible();
- this->dirtyStrCache();
- }
+ if (fVisibleRowCount != n)
+ {
+ fVisibleRowCount = n;
+ this->ensureSelectionIsVisible();
+ this->dirtyStrCache();
+ }
}
void SkListView::dirtyStrCache()
{
- if (fStrCache)
- {
- delete[] fStrCache;
- fStrCache = NULL;
- }
+ if (fStrCache)
+ {
+ delete[] fStrCache;
+ fStrCache = NULL;
+ }
}
void SkListView::ensureStrCache(int count)
{
- if (fStrCache == NULL)
- {
- fStrCache = new SkString[count << 1];
+ if (fStrCache == NULL)
+ {
+ fStrCache = new SkString[count << 1];
- if (fSource)
- for (int i = 0; i < count; i++)
- fSource->getRow(i + fScrollIndex, &fStrCache[i], &fStrCache[i + count]);
- }
+ if (fSource)
+ for (int i = 0; i < count; i++)
+ fSource->getRow(i + fScrollIndex, &fStrCache[i], &fStrCache[i + count]);
+ }
}
bool SkListView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Key))
- {
- switch (evt.getFast32()) {
- case kUp_SkKey:
- this->moveSelectionUp();
- return true;
- case kDown_SkKey:
- this->moveSelectionDown();
- return true;
- case kRight_SkKey:
- case kOK_SkKey:
- if (fSource && fCurrIndex >= 0)
- {
- SkEvent* evt = fSource->getEvent(fCurrIndex);
- if (evt)
- {
- SkView* view = this->sendEventToParents(*evt);
- delete evt;
- return view != NULL;
- }
- else // hack to make toggle work
- {
- this->dirtyStrCache();
- this->inval(NULL);
- }
- }
- break;
- }
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Key))
+ {
+ switch (evt.getFast32()) {
+ case kUp_SkKey:
+ this->moveSelectionUp();
+ return true;
+ case kDown_SkKey:
+ this->moveSelectionDown();
+ return true;
+ case kRight_SkKey:
+ case kOK_SkKey:
+ if (fSource && fCurrIndex >= 0)
+ {
+ SkEvent* evt = fSource->getEvent(fCurrIndex);
+ if (evt)
+ {
+ SkView* view = this->sendEventToParents(*evt);
+ delete evt;
+ return view != NULL;
+ }
+ else // hack to make toggle work
+ {
+ this->dirtyStrCache();
+ this->inval(NULL);
+ }
+ }
+ break;
+ }
+ }
+ return this->INHERITED::onEvent(evt);
}
void SkListView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
+ this->INHERITED::onInflate(dom, node);
- SkScalar x;
- const SkDOM::Node* child;
+ SkScalar x;
+ const SkDOM::Node* child;
- if (dom.findScalar(node, "row-height", &x))
- this->setRowHeight(x);
+ if (dom.findScalar(node, "row-height", &x))
+ this->setRowHeight(x);
- if ((child = dom.getFirstChild(node, "hilite-paint")) != NULL)
- SkPaint_Inflate(&this->paint(kHiliteCell_Attr), dom, child);
+ if ((child = dom.getFirstChild(node, "hilite-paint")) != NULL)
+ SkPaint_Inflate(&this->paint(kHiliteCell_Attr), dom, child);
- // look for a listsource
- {
- SkListSource* src = NULL;
+ // look for a listsource
+ {
+ SkListSource* src = NULL;
- if ((child = dom.getFirstChild(node, "file-listsource")) != NULL)
- {
- const char* path = dom.findAttr(child, "path");
- if (path)
- src = SkListSource::CreateFromDir( path,
- dom.findAttr(child, "filter"),
- dom.findAttr(child, "target"));
- }
- else if ((child = dom.getFirstChild(node, "xml-listsource")) != NULL)
- {
- src = SkListSource::CreateFromDOM(dom, child);
- }
+ if ((child = dom.getFirstChild(node, "file-listsource")) != NULL)
+ {
+ const char* path = dom.findAttr(child, "path");
+ if (path)
+ src = SkListSource::CreateFromDir( path,
+ dom.findAttr(child, "filter"),
+ dom.findAttr(child, "target"));
+ }
+ else if ((child = dom.getFirstChild(node, "xml-listsource")) != NULL)
+ {
+ src = SkListSource::CreateFromDOM(dom, child);
+ }
- if (src)
- {
- this->setListSource(src)->unref();
- this->setSelection(0);
- }
- }
+ if (src)
+ {
+ this->setListSource(src)->unref();
+ this->setSelection(0);
+ }
+ }
}
///////////////////////////////////////////////////////////////////////////////////////////
@@ -517,386 +517,386 @@ void SkListView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
class SkScrollBarView : public SkView {
public:
- SkScrollBarView(const char bg[], const char fg[])
- {
- fBGRef = SkBitmapRef::Decode(bg, true);
- fFGRef = SkBitmapRef::Decode(fg, true);
-
- if (fBGRef)
- this->setWidth(SkIntToScalar(fBGRef->bitmap().width()));
- }
- ~SkScrollBarView()
- {
- delete fBGRef;
- delete fFGRef;
- }
+ SkScrollBarView(const char bg[], const char fg[])
+ {
+ fBGRef = SkBitmapRef::Decode(bg, true);
+ fFGRef = SkBitmapRef::Decode(fg, true);
+
+ if (fBGRef)
+ this->setWidth(SkIntToScalar(fBGRef->bitmap().width()));
+ }
+ ~SkScrollBarView()
+ {
+ delete fBGRef;
+ delete fFGRef;
+ }
protected:
- virtual void onDraw(SkCanvas* canvas)
- {
- if (fBGRef == NULL) return;
+ virtual void onDraw(SkCanvas* canvas)
+ {
+ if (fBGRef == NULL) return;
- SkPaint paint;
+ SkPaint paint;
- SkShader* shader = SkShader::CreateBitmapShader(fBGRef->bitmap(), false, SkPaint::kNo_FilterType, SkShader::kClamp_TileMode);
- paint.setShader(shader)->unref();
+ SkShader* shader = SkShader::CreateBitmapShader(fBGRef->bitmap(), false, SkPaint::kNo_FilterType, SkShader::kClamp_TileMode);
+ paint.setShader(shader)->unref();
- canvas->drawPaint(paint);
- }
+ canvas->drawPaint(paint);
+ }
private:
- SkBitmapRef* fBGRef, *fFGRef;
+ SkBitmapRef* fBGRef, *fFGRef;
};
SkGridView::SkGridView(U32 flags) : SkWidgetView(flags)
{
- fSource = NULL;
- fCurrIndex = -1;
- fVisibleCount.set(0, 0);
+ fSource = NULL;
+ fCurrIndex = -1;
+ fVisibleCount.set(0, 0);
- fPaint[kBG_Attr].setColor(SK_ColorWHITE);
- fPaint[kHiliteCell_Attr].setColor(SK_ColorYELLOW);
- fPaint[kHiliteCell_Attr].setStyle(SkPaint::kStroke_Style);
- fPaint[kHiliteCell_Attr].setAntiAliasOn(true);
- fPaint[kHiliteCell_Attr].setStrokeWidth(SK_Scalar1*3);
+ fPaint[kBG_Attr].setColor(SK_ColorWHITE);
+ fPaint[kHiliteCell_Attr].setColor(SK_ColorYELLOW);
+ fPaint[kHiliteCell_Attr].setStyle(SkPaint::kStroke_Style);
+ fPaint[kHiliteCell_Attr].setAntiAliasOn(true);
+ fPaint[kHiliteCell_Attr].setStrokeWidth(SK_Scalar1*3);
- fScrollBar = new SkScrollBarView("icons/scrollbarGrey.jpg", "icons/scrollbarBlue.jpg");
- this->attachChildToFront(fScrollBar)->unref();
- fScrollBar->setVisibleP(true);
+ fScrollBar = new SkScrollBarView("icons/scrollbarGrey.jpg", "icons/scrollbarBlue.jpg");
+ this->attachChildToFront(fScrollBar)->unref();
+ fScrollBar->setVisibleP(true);
}
SkGridView::~SkGridView()
{
- fSource->safeUnref();
+ fSource->safeUnref();
}
void SkGridView::getCellSize(SkPoint* size) const
{
- if (size)
- *size = fCellSize;
+ if (size)
+ *size = fCellSize;
}
void SkGridView::setCellSize(SkScalar x, SkScalar y)
{
- SkASSERT(x >= 0 && y >= 0);
+ SkASSERT(x >= 0 && y >= 0);
- if (!fCellSize.equals(x, y))
- {
- fCellSize.set(x, y);
- this->inval(NULL);
- }
+ if (!fCellSize.equals(x, y))
+ {
+ fCellSize.set(x, y);
+ this->inval(NULL);
+ }
}
void SkGridView::setSelection(int index)
{
- if (fCurrIndex != index)
- {
- this->invalSelection();
- fCurrIndex = index;
- this->invalSelection();
- this->ensureSelectionIsVisible();
+ if (fCurrIndex != index)
+ {
+ this->invalSelection();
+ fCurrIndex = index;
+ this->invalSelection();
+ this->ensureSelectionIsVisible();
- // this generates the click
- {
- SkEvent evt;
- evt.setType("listview-selection");
- evt.setFast32(index);
- this->sendEventToParents(evt);
- }
- }
+ // this generates the click
+ {
+ SkEvent evt;
+ evt.setType("listview-selection");
+ evt.setFast32(index);
+ this->sendEventToParents(evt);
+ }
+ }
}
void SkGridView::moveSelectionUp()
{
- if (fSource)
- {
- int index = fCurrIndex;
- if (index < 0) // no selection
- index = fSource->countRows() - 1;
- else
- index = SkMax32(index - 1, 0);
- this->setSelection(index);
- }
+ if (fSource)
+ {
+ int index = fCurrIndex;
+ if (index < 0) // no selection
+ index = fSource->countRows() - 1;
+ else
+ index = SkMax32(index - 1, 0);
+ this->setSelection(index);
+ }
}
void SkGridView::moveSelectionDown()
{
- if (fSource)
- {
- int index = fCurrIndex;
- if (index < 0) // no selection
- index = 0;
- else
- index = SkMin32(index + 1, fSource->countRows() - 1);
- this->setSelection(index);
- }
+ if (fSource)
+ {
+ int index = fCurrIndex;
+ if (index < 0) // no selection
+ index = 0;
+ else
+ index = SkMin32(index + 1, fSource->countRows() - 1);
+ this->setSelection(index);
+ }
}
void SkGridView::invalSelection()
{
- SkRect r;
- if (this->getCellRect(fCurrIndex, &r))
- {
- SkScalar inset = 0;
- if (fPaint[kHiliteCell_Attr].getStyle() != SkPaint::kFill_Style)
- inset += fPaint[kHiliteCell_Attr].getStrokeWidth() / 2;
- if (fPaint[kHiliteCell_Attr].isAntiAliasOn())
- inset += SK_Scalar1;
- r.inset(-inset, -inset);
- this->inval(&r);
- }
+ SkRect r;
+ if (this->getCellRect(fCurrIndex, &r))
+ {
+ SkScalar inset = 0;
+ if (fPaint[kHiliteCell_Attr].getStyle() != SkPaint::kFill_Style)
+ inset += fPaint[kHiliteCell_Attr].getStrokeWidth() / 2;
+ if (fPaint[kHiliteCell_Attr].isAntiAliasOn())
+ inset += SK_Scalar1;
+ r.inset(-inset, -inset);
+ this->inval(&r);
+ }
}
void SkGridView::ensureSelectionIsVisible()
{
- if (fSource == NULL)
- return;
+ if (fSource == NULL)
+ return;
#if 0
- if ((unsigned)fCurrIndex < (unsigned)fSource->countRows())
- {
- int index = this->logicalToVisualIndex(fCurrIndex);
-
- if ((unsigned)index >= (unsigned)fVisibleRowCount) // need to scroll
- {
- if (index < 0) // too high
- fScrollIndex = fCurrIndex;
- else
- fScrollIndex = fCurrIndex - fVisibleRowCount + 1;
- SkASSERT((unsigned)fScrollIndex < (unsigned)fSource->countRows());
-
- this->dirtyStrCache();
- this->inval(NULL);
- }
- }
+ if ((unsigned)fCurrIndex < (unsigned)fSource->countRows())
+ {
+ int index = this->logicalToVisualIndex(fCurrIndex);
+
+ if ((unsigned)index >= (unsigned)fVisibleRowCount) // need to scroll
+ {
+ if (index < 0) // too high
+ fScrollIndex = fCurrIndex;
+ else
+ fScrollIndex = fCurrIndex - fVisibleRowCount + 1;
+ SkASSERT((unsigned)fScrollIndex < (unsigned)fSource->countRows());
+
+ this->dirtyStrCache();
+ this->inval(NULL);
+ }
+ }
#endif
}
bool SkGridView::getCellRect(int index, SkRect* r) const
{
- if (fVisibleCount.fY == 0)
- return false;
+ if (fVisibleCount.fY == 0)
+ return false;
- index = this->logicalToVisualIndex(index);
- if (index >= 0)
- {
- SkRect bounds;
- int row = index / fVisibleCount.fY;
- int col = index % fVisibleCount.fY;
+ index = this->logicalToVisualIndex(index);
+ if (index >= 0)
+ {
+ SkRect bounds;
+ int row = index / fVisibleCount.fY;
+ int col = index % fVisibleCount.fY;
- bounds.set(0, 0, fCellSize.fX, fCellSize.fY);
- bounds.offset(col * (fCellSize.fX + SkIntToScalar(col > 0)),
- row * (fCellSize.fY + SkIntToScalar(row > 0)));
+ bounds.set(0, 0, fCellSize.fX, fCellSize.fY);
+ bounds.offset(col * (fCellSize.fX + SkIntToScalar(col > 0)),
+ row * (fCellSize.fY + SkIntToScalar(row > 0)));
- if (bounds.fTop < this->height())
- {
- if (r)
- *r = bounds;
- return true;
- }
- }
- return false;
+ if (bounds.fTop < this->height())
+ {
+ if (r)
+ *r = bounds;
+ return true;
+ }
+ }
+ return false;
}
SkPaint& SkGridView::paint(Attr attr)
{
- SkASSERT((unsigned)attr < kAttrCount);
- return fPaint[attr];
+ SkASSERT((unsigned)attr < kAttrCount);
+ return fPaint[attr];
}
SkListSource* SkGridView::setListSource(SkListSource* src)
{
- if (fSource != src)
- {
- SkRefCnt_SafeAssign(fSource, src);
- // this->dirtyStrCache();
- this->ensureSelectionIsVisible();
- this->inval(NULL);
- }
- return src;
+ if (fSource != src)
+ {
+ SkRefCnt_SafeAssign(fSource, src);
+ // this->dirtyStrCache();
+ this->ensureSelectionIsVisible();
+ this->inval(NULL);
+ }
+ return src;
}
#include "SkShader.h"
static void copybits(SkCanvas* canvas, const SkBitmap& bm, const SkRect& dst, const SkPaint& paint)
{
- SkRect src;
- SkMatrix matrix;
+ SkRect src;
+ SkMatrix matrix;
- src.set(0, 0, SkIntToScalar(bm.width()), SkIntToScalar(bm.height()));
- if (matrix.setRectToRect(src, dst))
- {
- SkPaint p(paint);
- SkShader* shader = SkShader::CreateBitmapShader(bm, false, SkPaint::kNo_FilterType, SkShader::kClamp_TileMode);
- p.setShader(shader)->unref();
+ src.set(0, 0, SkIntToScalar(bm.width()), SkIntToScalar(bm.height()));
+ if (matrix.setRectToRect(src, dst))
+ {
+ SkPaint p(paint);
+ SkShader* shader = SkShader::CreateBitmapShader(bm, false, SkPaint::kNo_FilterType, SkShader::kClamp_TileMode);
+ p.setShader(shader)->unref();
- shader->setLocalMatrix(matrix);
- canvas->drawRect(dst, p);
- }
+ shader->setLocalMatrix(matrix);
+ canvas->drawRect(dst, p);
+ }
}
#include "SkImageDecoder.h"
void SkGridView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- canvas->drawPaint(fPaint[kBG_Attr]);
+ canvas->drawPaint(fPaint[kBG_Attr]);
- if (fSource == NULL)
- return;
+ if (fSource == NULL)
+ return;
#if 0
- int visibleCount = SkMin32(fVisibleRowCount, fSource->countRows() - fScrollIndex);
- if (visibleCount == 0)
- return;
+ int visibleCount = SkMin32(fVisibleRowCount, fSource->countRows() - fScrollIndex);
+ if (visibleCount == 0)
+ return;
- this->ensureStrCache(visibleCount);
- int currIndex = this->logicalToVisualIndex(fCurrIndex);
+ this->ensureStrCache(visibleCount);
+ int currIndex = this->logicalToVisualIndex(fCurrIndex);
#endif
- SkPaint p;
- for (int i = 0; i < fSource->countRows(); i++)
- {
- bool forced = false;
- SkEvent* evt = fSource->getEvent(i);
- SkASSERT(evt);
- SkString path(evt->findString("path"));
- delete evt;
-
- SkBitmapRef* bmr = SkBitmapRef::Decode(path.c_str(), false);
- if (bmr == NULL)
- {
- bmr = SkBitmapRef::Decode(path.c_str(), true);
- if (bmr)
- forced = true;
- }
-
- if (bmr)
- {
- SkAutoTDelete<SkBitmapRef> autoRef(bmr);
- SkRect r;
- if (!this->getCellRect(i, &r))
- break;
- copybits(canvas, bmr->bitmap(), r, p);
- }
- // only draw one forced bitmap at a time
- if (forced)
- {
- this->inval(NULL); // could inval only the remaining visible cells...
- break;
- }
- }
-
- // draw the hilite
- {
- SkRect r;
- if (fCurrIndex >= 0 && this->getCellRect(fCurrIndex, &r))
- canvas->drawRect(r, fPaint[kHiliteCell_Attr]);
- }
+ SkPaint p;
+ for (int i = 0; i < fSource->countRows(); i++)
+ {
+ bool forced = false;
+ SkEvent* evt = fSource->getEvent(i);
+ SkASSERT(evt);
+ SkString path(evt->findString("path"));
+ delete evt;
+
+ SkBitmapRef* bmr = SkBitmapRef::Decode(path.c_str(), false);
+ if (bmr == NULL)
+ {
+ bmr = SkBitmapRef::Decode(path.c_str(), true);
+ if (bmr)
+ forced = true;
+ }
+
+ if (bmr)
+ {
+ SkAutoTDelete<SkBitmapRef> autoRef(bmr);
+ SkRect r;
+ if (!this->getCellRect(i, &r))
+ break;
+ copybits(canvas, bmr->bitmap(), r, p);
+ }
+ // only draw one forced bitmap at a time
+ if (forced)
+ {
+ this->inval(NULL); // could inval only the remaining visible cells...
+ break;
+ }
+ }
+
+ // draw the hilite
+ {
+ SkRect r;
+ if (fCurrIndex >= 0 && this->getCellRect(fCurrIndex, &r))
+ canvas->drawRect(r, fPaint[kHiliteCell_Attr]);
+ }
}
static int check_count(int n, SkScalar s)
{
- // only want to show cells that are mostly visible
- if (n == 0 || s - SkIntToScalar(n) > SK_Scalar1*75/100)
- n += 1;
- return n;
+ // only want to show cells that are mostly visible
+ if (n == 0 || s - SkIntToScalar(n) > SK_Scalar1*75/100)
+ n += 1;
+ return n;
}
void SkGridView::onSizeChange()
{
- fScrollBar->setHeight(this->height());
- fScrollBar->setLoc(this->locX() + this->width() - fScrollBar->width(), 0);
+ fScrollBar->setHeight(this->height());
+ fScrollBar->setLoc(this->locX() + this->width() - fScrollBar->width(), 0);
- if (fCellSize.equals(0, 0))
- {
- fVisibleCount.set(0, 0);
- return;
- }
+ if (fCellSize.equals(0, 0))
+ {
+ fVisibleCount.set(0, 0);
+ return;
+ }
- SkScalar rows = SkScalarDiv(this->height(), fCellSize.fY);
- SkScalar cols = SkScalarDiv(this->width(), fCellSize.fX);
- int y = SkScalarFloor(rows);
- int x = SkScalarFloor(cols);
+ SkScalar rows = SkScalarDiv(this->height(), fCellSize.fY);
+ SkScalar cols = SkScalarDiv(this->width(), fCellSize.fX);
+ int y = SkScalarFloor(rows);
+ int x = SkScalarFloor(cols);
- y = check_count(y, rows);
- x = check_count(x, cols);
+ y = check_count(y, rows);
+ x = check_count(x, cols);
- if (!fVisibleCount.equals(x, y))
- {
- fVisibleCount.set(x, y);
- this->ensureSelectionIsVisible();
- // this->dirtyStrCache();
- }
+ if (!fVisibleCount.equals(x, y))
+ {
+ fVisibleCount.set(x, y);
+ this->ensureSelectionIsVisible();
+ // this->dirtyStrCache();
+ }
}
bool SkGridView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Key))
- {
- switch (evt.getFast32()) {
- case kUp_SkKey:
- this->moveSelectionUp();
- return true;
- case kDown_SkKey:
- this->moveSelectionDown();
- return true;
- case kRight_SkKey:
- case kOK_SkKey:
- if (fSource && fCurrIndex >= 0)
- {
- SkEvent* evt = fSource->getEvent(fCurrIndex);
- if (evt)
- {
- // augment the event with our local rect
- (void)this->getCellRect(fCurrIndex, (SkRect*)evt->setScalars("local-rect", 4, NULL));
-
- SkView* view = this->sendEventToParents(*evt);
- delete evt;
- return view != NULL;
- }
- }
- break;
- }
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Key))
+ {
+ switch (evt.getFast32()) {
+ case kUp_SkKey:
+ this->moveSelectionUp();
+ return true;
+ case kDown_SkKey:
+ this->moveSelectionDown();
+ return true;
+ case kRight_SkKey:
+ case kOK_SkKey:
+ if (fSource && fCurrIndex >= 0)
+ {
+ SkEvent* evt = fSource->getEvent(fCurrIndex);
+ if (evt)
+ {
+ // augment the event with our local rect
+ (void)this->getCellRect(fCurrIndex, (SkRect*)evt->setScalars("local-rect", 4, NULL));
+
+ SkView* view = this->sendEventToParents(*evt);
+ delete evt;
+ return view != NULL;
+ }
+ }
+ break;
+ }
+ }
+ return this->INHERITED::onEvent(evt);
}
void SkGridView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
-
- SkScalar x[2];
- const SkDOM::Node* child;
-
- if (dom.findScalars(node, "cell-size", x, 2))
- this->setCellSize(x[0], x[1]);
-
- if ((child = dom.getFirstChild(node, "hilite-paint")) != NULL)
- SkPaint_Inflate(&this->paint(kHiliteCell_Attr), dom, child);
-
- // look for a listsource
- {
- SkListSource* src = NULL;
-
- if ((child = dom.getFirstChild(node, "file-listsource")) != NULL)
- {
- const char* path = dom.findAttr(child, "path");
- if (path)
- src = SkListSource::CreateFromDir( path,
- dom.findAttr(child, "filter"),
- dom.findAttr(child, "target"));
- }
- else if ((child = dom.getFirstChild(node, "xml-listsource")) != NULL)
- {
- src = SkListSource::CreateFromDOM(dom, child);
- }
-
- if (src)
- {
- this->setListSource(src)->unref();
- this->setSelection(0);
- }
- }
- this->onSizeChange();
+ this->INHERITED::onInflate(dom, node);
+
+ SkScalar x[2];
+ const SkDOM::Node* child;
+
+ if (dom.findScalars(node, "cell-size", x, 2))
+ this->setCellSize(x[0], x[1]);
+
+ if ((child = dom.getFirstChild(node, "hilite-paint")) != NULL)
+ SkPaint_Inflate(&this->paint(kHiliteCell_Attr), dom, child);
+
+ // look for a listsource
+ {
+ SkListSource* src = NULL;
+
+ if ((child = dom.getFirstChild(node, "file-listsource")) != NULL)
+ {
+ const char* path = dom.findAttr(child, "path");
+ if (path)
+ src = SkListSource::CreateFromDir( path,
+ dom.findAttr(child, "filter"),
+ dom.findAttr(child, "target"));
+ }
+ else if ((child = dom.getFirstChild(node, "xml-listsource")) != NULL)
+ {
+ src = SkListSource::CreateFromDOM(dom, child);
+ }
+
+ if (src)
+ {
+ this->setListSource(src)->unref();
+ this->setSelection(0);
+ }
+ }
+ this->onSizeChange();
}
#endif
diff --git a/src/views/animated/SkListWidget.cpp b/src/views/animated/SkListWidget.cpp
index 4d95e0fc46..f91c6843b7 100644
--- a/src/views/animated/SkListWidget.cpp
+++ b/src/views/animated/SkListWidget.cpp
@@ -13,320 +13,320 @@
extern void init_skin_anim(const char name[], SkAnimator*);
struct SkListView::BindingRec {
- SkString fSlotName;
- int fFieldIndex;
+ SkString fSlotName;
+ int fFieldIndex;
};
SkListView::SkListView()
{
- fSource = NULL; // our list-source
- fScrollBar = NULL;
- fAnims = NULL; // array of animators[fVisibleRowCount]
- fBindings = NULL; // our fields->slot array
- fBindingCount = 0; // number of entries in fSlots array
- fScrollIndex = 0; // number of cells to skip before first visible cell
- fCurrIndex = -1; // index of "selected" cell
- fVisibleRowCount = 0; // number of cells that can fit in our bounds
- fAnimContentDirty = true; // true if fAnims[] have their correct content
- fAnimFocusDirty = true;
-
- fHeights[kNormal_Height] = SkIntToScalar(16);
- fHeights[kSelected_Height] = SkIntToScalar(16);
-
- this->setFlags(this->getFlags() | kFocusable_Mask);
+ fSource = NULL; // our list-source
+ fScrollBar = NULL;
+ fAnims = NULL; // array of animators[fVisibleRowCount]
+ fBindings = NULL; // our fields->slot array
+ fBindingCount = 0; // number of entries in fSlots array
+ fScrollIndex = 0; // number of cells to skip before first visible cell
+ fCurrIndex = -1; // index of "selected" cell
+ fVisibleRowCount = 0; // number of cells that can fit in our bounds
+ fAnimContentDirty = true; // true if fAnims[] have their correct content
+ fAnimFocusDirty = true;
+
+ fHeights[kNormal_Height] = SkIntToScalar(16);
+ fHeights[kSelected_Height] = SkIntToScalar(16);
+
+ this->setFlags(this->getFlags() | kFocusable_Mask);
}
SkListView::~SkListView()
{
- SkSafeUnref(fScrollBar);
- SkSafeUnref(fSource);
- delete[] fAnims;
- delete[] fBindings;
+ SkSafeUnref(fScrollBar);
+ SkSafeUnref(fSource);
+ delete[] fAnims;
+ delete[] fBindings;
}
void SkListView::setHasScrollBar(bool hasSB)
{
- if (hasSB != this->hasScrollBar())
- {
- if (hasSB)
- {
- SkASSERT(fScrollBar == NULL);
- fScrollBar = (SkScrollBarView*)SkWidgetFactory(kScroll_WidgetEnum);
- fScrollBar->setVisibleP(true);
- this->attachChildToFront(fScrollBar);
- fScrollBar->setHeight(this->height()); // assume it auto-sets its width
- // fScrollBar->setLoc(this->getContentWidth(), 0);
- fScrollBar->setLoc(this->width()-SkIntToScalar(10), 0);
- }
- else
- {
- SkASSERT(fScrollBar);
- fScrollBar->detachFromParent();
- fScrollBar->unref();
- fScrollBar = NULL;
- }
- this->dirtyCache(kAnimContent_DirtyFlag);
- }
+ if (hasSB != this->hasScrollBar())
+ {
+ if (hasSB)
+ {
+ SkASSERT(fScrollBar == NULL);
+ fScrollBar = (SkScrollBarView*)SkWidgetFactory(kScroll_WidgetEnum);
+ fScrollBar->setVisibleP(true);
+ this->attachChildToFront(fScrollBar);
+ fScrollBar->setHeight(this->height()); // assume it auto-sets its width
+ // fScrollBar->setLoc(this->getContentWidth(), 0);
+ fScrollBar->setLoc(this->width()-SkIntToScalar(10), 0);
+ }
+ else
+ {
+ SkASSERT(fScrollBar);
+ fScrollBar->detachFromParent();
+ fScrollBar->unref();
+ fScrollBar = NULL;
+ }
+ this->dirtyCache(kAnimContent_DirtyFlag);
+ }
}
void SkListView::setSelection(int index)
{
- if (fCurrIndex != index)
- {
- fAnimFocusDirty = true;
- this->inval(NULL);
-
- this->invalSelection();
- fCurrIndex = index;
- this->invalSelection();
- this->ensureSelectionIsVisible();
- }
+ if (fCurrIndex != index)
+ {
+ fAnimFocusDirty = true;
+ this->inval(NULL);
+
+ this->invalSelection();
+ fCurrIndex = index;
+ this->invalSelection();
+ this->ensureSelectionIsVisible();
+ }
}
bool SkListView::moveSelectionUp()
{
- if (fSource)
- {
- int index = fCurrIndex;
- if (index < 0) // no selection
- index = fSource->countRecords() - 1;
- else
- index = SkMax32(index - 1, 0);
-
- if (fCurrIndex != index)
- {
- this->setSelection(index);
- return true;
- }
- }
- return false;
+ if (fSource)
+ {
+ int index = fCurrIndex;
+ if (index < 0) // no selection
+ index = fSource->countRecords() - 1;
+ else
+ index = SkMax32(index - 1, 0);
+
+ if (fCurrIndex != index)
+ {
+ this->setSelection(index);
+ return true;
+ }
+ }
+ return false;
}
bool SkListView::moveSelectionDown()
{
- if (fSource)
- {
- int index = fCurrIndex;
- if (index < 0) // no selection
- index = 0;
- else
- index = SkMin32(index + 1, fSource->countRecords() - 1);
-
- if (fCurrIndex != index)
- {
- this->setSelection(index);
- return true;
- }
- }
- return false;
+ if (fSource)
+ {
+ int index = fCurrIndex;
+ if (index < 0) // no selection
+ index = 0;
+ else
+ index = SkMin32(index + 1, fSource->countRecords() - 1);
+
+ if (fCurrIndex != index)
+ {
+ this->setSelection(index);
+ return true;
+ }
+ }
+ return false;
}
void SkListView::invalSelection()
{
- SkRect r;
- if (this->getRowRect(fCurrIndex, &r))
- this->inval(&r);
+ SkRect r;
+ if (this->getRowRect(fCurrIndex, &r))
+ this->inval(&r);
}
void SkListView::ensureSelectionIsVisible()
{
- if (fSource && (unsigned)fCurrIndex < (unsigned)fSource->countRecords())
- {
- int index = this->logicalToVisualIndex(fCurrIndex);
-
- if ((unsigned)index >= (unsigned)fVisibleRowCount) // need to scroll
- {
- int newIndex;
-
- if (index < 0) // too high
- newIndex = fCurrIndex;
- else
- newIndex = fCurrIndex - fVisibleRowCount + 1;
- SkASSERT((unsigned)newIndex < (unsigned)fSource->countRecords());
- this->inval(NULL);
-
- if (fScrollIndex != newIndex)
- {
- fScrollIndex = newIndex;
- if (fScrollBar)
- fScrollBar->setStart(newIndex);
- this->dirtyCache(kAnimContent_DirtyFlag);
- }
- }
- }
+ if (fSource && (unsigned)fCurrIndex < (unsigned)fSource->countRecords())
+ {
+ int index = this->logicalToVisualIndex(fCurrIndex);
+
+ if ((unsigned)index >= (unsigned)fVisibleRowCount) // need to scroll
+ {
+ int newIndex;
+
+ if (index < 0) // too high
+ newIndex = fCurrIndex;
+ else
+ newIndex = fCurrIndex - fVisibleRowCount + 1;
+ SkASSERT((unsigned)newIndex < (unsigned)fSource->countRecords());
+ this->inval(NULL);
+
+ if (fScrollIndex != newIndex)
+ {
+ fScrollIndex = newIndex;
+ if (fScrollBar)
+ fScrollBar->setStart(newIndex);
+ this->dirtyCache(kAnimContent_DirtyFlag);
+ }
+ }
+ }
}
SkScalar SkListView::getContentWidth() const
{
- SkScalar width = this->width();
-
- if (fScrollBar)
- {
- width -= fScrollBar->width();
- if (width < 0)
- width = 0;
- }
- return width;
+ SkScalar width = this->width();
+
+ if (fScrollBar)
+ {
+ width -= fScrollBar->width();
+ if (width < 0)
+ width = 0;
+ }
+ return width;
}
bool SkListView::getRowRect(int index, SkRect* r) const
{
- SkASSERT(r);
-
- index = this->logicalToVisualIndex(index);
- if (index >= 0)
- {
- int selection = this->logicalToVisualIndex(fCurrIndex);
-
- SkScalar height = fHeights[index == selection ? kSelected_Height : kNormal_Height];
- SkScalar top = index * fHeights[kNormal_Height];
-
- if (index > selection && selection >= 0)
- top += fHeights[kSelected_Height] - fHeights[kNormal_Height];
-
- if (top < this->height())
- {
- if (r)
- r->set(0, top, this->getContentWidth(), top + height);
- return true;
- }
- }
- return false;
+ SkASSERT(r);
+
+ index = this->logicalToVisualIndex(index);
+ if (index >= 0)
+ {
+ int selection = this->logicalToVisualIndex(fCurrIndex);
+
+ SkScalar height = fHeights[index == selection ? kSelected_Height : kNormal_Height];
+ SkScalar top = index * fHeights[kNormal_Height];
+
+ if (index > selection && selection >= 0)
+ top += fHeights[kSelected_Height] - fHeights[kNormal_Height];
+
+ if (top < this->height())
+ {
+ if (r)
+ r->set(0, top, this->getContentWidth(), top + height);
+ return true;
+ }
+ }
+ return false;
}
SkListSource* SkListView::setListSource(SkListSource* src)
{
- if (fSource != src)
- {
- SkRefCnt_SafeAssign(fSource, src);
- this->ensureSelectionIsVisible();
- this->inval(NULL);
-
- if (fScrollBar)
- fScrollBar->setTotal(fSource->countRecords());
- }
- return src;
+ if (fSource != src)
+ {
+ SkRefCnt_SafeAssign(fSource, src);
+ this->ensureSelectionIsVisible();
+ this->inval(NULL);
+
+ if (fScrollBar)
+ fScrollBar->setTotal(fSource->countRecords());
+ }
+ return src;
}
void SkListView::dirtyCache(unsigned dirtyFlags)
{
- if (dirtyFlags & kAnimCount_DirtyFlag)
- {
- delete fAnims;
- fAnims = NULL;
- fAnimContentDirty = true;
- fAnimFocusDirty = true;
- }
- if (dirtyFlags & kAnimContent_DirtyFlag)
- {
- if (!fAnimContentDirty)
- {
- this->inval(NULL);
- fAnimContentDirty = true;
- }
- fAnimFocusDirty = true;
- }
+ if (dirtyFlags & kAnimCount_DirtyFlag)
+ {
+ delete fAnims;
+ fAnims = NULL;
+ fAnimContentDirty = true;
+ fAnimFocusDirty = true;
+ }
+ if (dirtyFlags & kAnimContent_DirtyFlag)
+ {
+ if (!fAnimContentDirty)
+ {
+ this->inval(NULL);
+ fAnimContentDirty = true;
+ }
+ fAnimFocusDirty = true;
+ }
}
bool SkListView::ensureCache()
{
- if (fSkinName.size() == 0)
- return false;
-
- if (fAnims == NULL)
- {
- int n = SkMax32(1, fVisibleRowCount);
-
- SkASSERT(fAnimContentDirty);
- fAnims = new SkAnimator[n];
- for (int i = 0; i < n; i++)
- {
- fAnims[i].setHostEventSink(this);
- init_skin_anim(fSkinName.c_str(), &fAnims[i]);
- }
-
- fHeights[kNormal_Height] = fAnims[0].getScalar("idleHeight", "value");
- fHeights[kSelected_Height] = fAnims[0].getScalar("focusedHeight", "value");
-
- fAnimFocusDirty = true;
- }
-
- if (fAnimContentDirty && fSource)
- {
- fAnimContentDirty = false;
-
- SkString str;
- SkEvent evt("user");
- evt.setString("id", "setFields");
- evt.setS32("rowCount", fVisibleRowCount);
-
- SkEvent dimEvt("user");
- dimEvt.setString("id", "setDim");
- dimEvt.setScalar("dimX", this->getContentWidth());
- dimEvt.setScalar("dimY", this->height());
-
- for (int i = fScrollIndex; i < fScrollIndex + fVisibleRowCount; i++)
- {
- evt.setS32("relativeIndex", i - fScrollIndex);
- for (int j = 0; j < fBindingCount; j++)
- {
- fSource->getRecord(i, fBindings[j].fFieldIndex, &str);
+ if (fSkinName.size() == 0)
+ return false;
+
+ if (fAnims == NULL)
+ {
+ int n = SkMax32(1, fVisibleRowCount);
+
+ SkASSERT(fAnimContentDirty);
+ fAnims = new SkAnimator[n];
+ for (int i = 0; i < n; i++)
+ {
+ fAnims[i].setHostEventSink(this);
+ init_skin_anim(fSkinName.c_str(), &fAnims[i]);
+ }
+
+ fHeights[kNormal_Height] = fAnims[0].getScalar("idleHeight", "value");
+ fHeights[kSelected_Height] = fAnims[0].getScalar("focusedHeight", "value");
+
+ fAnimFocusDirty = true;
+ }
+
+ if (fAnimContentDirty && fSource)
+ {
+ fAnimContentDirty = false;
+
+ SkString str;
+ SkEvent evt("user");
+ evt.setString("id", "setFields");
+ evt.setS32("rowCount", fVisibleRowCount);
+
+ SkEvent dimEvt("user");
+ dimEvt.setString("id", "setDim");
+ dimEvt.setScalar("dimX", this->getContentWidth());
+ dimEvt.setScalar("dimY", this->height());
+
+ for (int i = fScrollIndex; i < fScrollIndex + fVisibleRowCount; i++)
+ {
+ evt.setS32("relativeIndex", i - fScrollIndex);
+ for (int j = 0; j < fBindingCount; j++)
+ {
+ fSource->getRecord(i, fBindings[j].fFieldIndex, &str);
//SkDEBUGF(("getRecord(%d,%d,%s) slot(%s)\n", i, fBindings[j].fFieldIndex, str.c_str(), fBindings[j].fSlotName.c_str()));
- evt.setString(fBindings[j].fSlotName.c_str(), str.c_str());
- }
- (void)fAnims[i % fVisibleRowCount].doUserEvent(evt);
- (void)fAnims[i % fVisibleRowCount].doUserEvent(dimEvt);
- }
- fAnimFocusDirty = true;
- }
-
- if (fAnimFocusDirty)
- {
+ evt.setString(fBindings[j].fSlotName.c_str(), str.c_str());
+ }
+ (void)fAnims[i % fVisibleRowCount].doUserEvent(evt);
+ (void)fAnims[i % fVisibleRowCount].doUserEvent(dimEvt);
+ }
+ fAnimFocusDirty = true;
+ }
+
+ if (fAnimFocusDirty)
+ {
//SkDEBUGF(("service fAnimFocusDirty\n"));
- fAnimFocusDirty = false;
+ fAnimFocusDirty = false;
- SkEvent focusEvt("user");
- focusEvt.setString("id", "setFocus");
+ SkEvent focusEvt("user");
+ focusEvt.setString("id", "setFocus");
- for (int i = fScrollIndex; i < fScrollIndex + fVisibleRowCount; i++)
- {
- focusEvt.setS32("FOCUS", i == fCurrIndex);
- (void)fAnims[i % fVisibleRowCount].doUserEvent(focusEvt);
- }
- }
+ for (int i = fScrollIndex; i < fScrollIndex + fVisibleRowCount; i++)
+ {
+ focusEvt.setS32("FOCUS", i == fCurrIndex);
+ (void)fAnims[i % fVisibleRowCount].doUserEvent(focusEvt);
+ }
+ }
- return true;
+ return true;
}
void SkListView::ensureVisibleRowCount()
{
- SkScalar height = this->height();
- int n = 0;
-
- if (height > 0)
- {
- n = 1;
- height -= fHeights[kSelected_Height];
- if (height > 0)
- {
- SkScalar count = SkScalarDiv(height, fHeights[kNormal_Height]);
- n += SkScalarFloor(count);
- if (count - SkIntToScalar(n) > SK_Scalar1*3/4)
- n += 1;
-
- // SkDebugf("count %g, n %d\n", count/65536., n);
- }
- }
-
- if (fVisibleRowCount != n)
- {
- if (fScrollBar)
- fScrollBar->setShown(n);
-
- fVisibleRowCount = n;
- this->ensureSelectionIsVisible();
- this->dirtyCache(kAnimCount_DirtyFlag | kAnimContent_DirtyFlag);
- }
+ SkScalar height = this->height();
+ int n = 0;
+
+ if (height > 0)
+ {
+ n = 1;
+ height -= fHeights[kSelected_Height];
+ if (height > 0)
+ {
+ SkScalar count = SkScalarDiv(height, fHeights[kNormal_Height]);
+ n += SkScalarFloor(count);
+ if (count - SkIntToScalar(n) > SK_Scalar1*3/4)
+ n += 1;
+
+ // SkDebugf("count %g, n %d\n", count/65536., n);
+ }
+ }
+
+ if (fVisibleRowCount != n)
+ {
+ if (fScrollBar)
+ fScrollBar->setShown(n);
+
+ fVisibleRowCount = n;
+ this->ensureSelectionIsVisible();
+ this->dirtyCache(kAnimCount_DirtyFlag | kAnimContent_DirtyFlag);
+ }
}
///////////////////////////////////////////////////////////////////////////////////////////////
@@ -336,76 +336,76 @@ void SkListView::ensureVisibleRowCount()
void SkListView::onSizeChange()
{
- this->INHERITED::onSizeChange();
+ this->INHERITED::onSizeChange();
- if (fScrollBar)
- fScrollBar->setLoc(this->width()-SkIntToScalar(10), 0);
+ if (fScrollBar)
+ fScrollBar->setLoc(this->width()-SkIntToScalar(10), 0);
- this->ensureVisibleRowCount();
+ this->ensureVisibleRowCount();
}
void SkListView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- this->ensureVisibleRowCount();
+ this->ensureVisibleRowCount();
- int visibleCount = SkMin32(fVisibleRowCount, fSource->countRecords() - fScrollIndex);
- if (visibleCount == 0 || !this->ensureCache())
- return;
+ int visibleCount = SkMin32(fVisibleRowCount, fSource->countRecords() - fScrollIndex);
+ if (visibleCount == 0 || !this->ensureCache())
+ return;
//SkDebugf("visibleCount %d scrollIndex %d currIndex %d\n", visibleCount, fScrollIndex, fCurrIndex);
- SkAutoCanvasRestore ar(canvas, true);
- SkMSec now = SkTime::GetMSecs();
- SkRect bounds;
-
- bounds.fLeft = 0;
- bounds.fRight = this->getContentWidth();
- bounds.fBottom = 0;
- // assign bounds.fTop inside the loop
-
- // hack to reveal our bounds for debugging
- if (this->hasFocus())
- canvas->drawARGB(0x11, 0, 0, 0xFF);
- else
- canvas->drawARGB(0x11, 0x88, 0x88, 0x88);
-
- for (int i = fScrollIndex; i < fScrollIndex + visibleCount; i++)
- {
- SkPaint paint;
- SkScalar height = fHeights[i == fCurrIndex ? kSelected_Height : kNormal_Height];
-
- bounds.fTop = bounds.fBottom;
- bounds.fBottom += height;
-
- canvas->save();
- if (fAnims[i % fVisibleRowCount].draw(canvas, &paint, now) != SkAnimator::kNotDifferent)
- this->inval(&bounds);
- canvas->restore();
-
- canvas->translate(0, height);
- }
+ SkAutoCanvasRestore ar(canvas, true);
+ SkMSec now = SkTime::GetMSecs();
+ SkRect bounds;
+
+ bounds.fLeft = 0;
+ bounds.fRight = this->getContentWidth();
+ bounds.fBottom = 0;
+ // assign bounds.fTop inside the loop
+
+ // hack to reveal our bounds for debugging
+ if (this->hasFocus())
+ canvas->drawARGB(0x11, 0, 0, 0xFF);
+ else
+ canvas->drawARGB(0x11, 0x88, 0x88, 0x88);
+
+ for (int i = fScrollIndex; i < fScrollIndex + visibleCount; i++)
+ {
+ SkPaint paint;
+ SkScalar height = fHeights[i == fCurrIndex ? kSelected_Height : kNormal_Height];
+
+ bounds.fTop = bounds.fBottom;
+ bounds.fBottom += height;
+
+ canvas->save();
+ if (fAnims[i % fVisibleRowCount].draw(canvas, &paint, now) != SkAnimator::kNotDifferent)
+ this->inval(&bounds);
+ canvas->restore();
+
+ canvas->translate(0, height);
+ }
}
bool SkListView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Key))
- {
- switch (evt.getFast32()) {
- case kUp_SkKey:
- return this->moveSelectionUp();
- case kDown_SkKey:
- return this->moveSelectionDown();
- case kRight_SkKey:
- case kOK_SkKey:
- this->postWidgetEvent();
- return true;
- default:
- break;
- }
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Key))
+ {
+ switch (evt.getFast32()) {
+ case kUp_SkKey:
+ return this->moveSelectionUp();
+ case kDown_SkKey:
+ return this->moveSelectionDown();
+ case kRight_SkKey:
+ case kOK_SkKey:
+ this->postWidgetEvent();
+ return true;
+ default:
+ break;
+ }
+ }
+ return this->INHERITED::onEvent(evt);
}
///////////////////////////////////////////////////////////////////////////////////////////////
@@ -414,78 +414,78 @@ static const char gListViewEventSlot[] = "sk-listview-slot-name";
/*virtual*/ bool SkListView::onPrepareWidgetEvent(SkEvent* evt)
{
- if (fSource && fCurrIndex >= 0 && this->INHERITED::onPrepareWidgetEvent(evt) &&
- fSource->prepareWidgetEvent(evt, fCurrIndex))
- {
- evt->setS32(gListViewEventSlot, fCurrIndex);
- return true;
- }
- return false;
+ if (fSource && fCurrIndex >= 0 && this->INHERITED::onPrepareWidgetEvent(evt) &&
+ fSource->prepareWidgetEvent(evt, fCurrIndex))
+ {
+ evt->setS32(gListViewEventSlot, fCurrIndex);
+ return true;
+ }
+ return false;
}
int SkListView::GetWidgetEventListIndex(const SkEvent& evt)
{
- int32_t index;
+ int32_t index;
- return evt.findS32(gListViewEventSlot, &index) ? index : -1;
+ return evt.findS32(gListViewEventSlot, &index) ? index : -1;
}
///////////////////////////////////////////////////////////////////////////////////////////////
void SkListView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
-
- {
- bool hasScrollBar;
- if (dom.findBool(node, "scrollBar", &hasScrollBar))
- this->setHasScrollBar(hasScrollBar);
- }
-
- const SkDOM::Node* child;
-
- if ((child = dom.getFirstChild(node, "bindings")) != NULL)
- {
- delete[] fBindings;
- fBindings = NULL;
- fBindingCount = 0;
-
- SkListSource* listSrc = SkListSource::Factory(dom.findAttr(child, "data-fields"));
- SkASSERT(listSrc);
- fSkinName.set(dom.findAttr(child, "skin-slots"));
- SkASSERT(fSkinName.size());
-
- this->setListSource(listSrc)->unref();
-
- int count = dom.countChildren(child, "bind");
- if (count > 0)
- {
- fBindings = new BindingRec[count];
- count = 0; // reuse this to count up to the number of valid bindings
-
- child = dom.getFirstChild(child, "bind");
- SkASSERT(child);
- do {
- const char* fieldName = dom.findAttr(child, "field");
- const char* slotName = dom.findAttr(child, "slot");
- if (fieldName && slotName)
- {
- fBindings[count].fFieldIndex = listSrc->findFieldIndex(fieldName);
- if (fBindings[count].fFieldIndex >= 0)
- fBindings[count++].fSlotName.set(slotName);
- }
- } while ((child = dom.getNextSibling(child, "bind")) != NULL);
-
- fBindingCount = SkToU16(count);
- if (count == 0)
- {
- SkDEBUGF(("SkListView::onInflate: no valid <bind> elements in <listsource>\n"));
- delete[] fBindings;
- }
- }
- this->dirtyCache(kAnimCount_DirtyFlag);
- this->setSelection(0);
- }
+ this->INHERITED::onInflate(dom, node);
+
+ {
+ bool hasScrollBar;
+ if (dom.findBool(node, "scrollBar", &hasScrollBar))
+ this->setHasScrollBar(hasScrollBar);
+ }
+
+ const SkDOM::Node* child;
+
+ if ((child = dom.getFirstChild(node, "bindings")) != NULL)
+ {
+ delete[] fBindings;
+ fBindings = NULL;
+ fBindingCount = 0;
+
+ SkListSource* listSrc = SkListSource::Factory(dom.findAttr(child, "data-fields"));
+ SkASSERT(listSrc);
+ fSkinName.set(dom.findAttr(child, "skin-slots"));
+ SkASSERT(fSkinName.size());
+
+ this->setListSource(listSrc)->unref();
+
+ int count = dom.countChildren(child, "bind");
+ if (count > 0)
+ {
+ fBindings = new BindingRec[count];
+ count = 0; // reuse this to count up to the number of valid bindings
+
+ child = dom.getFirstChild(child, "bind");
+ SkASSERT(child);
+ do {
+ const char* fieldName = dom.findAttr(child, "field");
+ const char* slotName = dom.findAttr(child, "slot");
+ if (fieldName && slotName)
+ {
+ fBindings[count].fFieldIndex = listSrc->findFieldIndex(fieldName);
+ if (fBindings[count].fFieldIndex >= 0)
+ fBindings[count++].fSlotName.set(slotName);
+ }
+ } while ((child = dom.getNextSibling(child, "bind")) != NULL);
+
+ fBindingCount = SkToU16(count);
+ if (count == 0)
+ {
+ SkDEBUGF(("SkListView::onInflate: no valid <bind> elements in <listsource>\n"));
+ delete[] fBindings;
+ }
+ }
+ this->dirtyCache(kAnimCount_DirtyFlag);
+ this->setSelection(0);
+ }
}
/////////////////////////////////////////////////////////////////////////////////////////////
@@ -493,137 +493,137 @@ void SkListView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
class SkXMLListSource : public SkListSource {
public:
- SkXMLListSource(const char doc[], size_t len);
- virtual ~SkXMLListSource()
- {
- delete[] fFields;
- delete[] fRecords;
- }
-
- virtual int countFields() { return fFieldCount; }
- virtual void getFieldName(int index, SkString* field)
- {
- SkASSERT((unsigned)index < (unsigned)fFieldCount);
- if (field)
- *field = fFields[index];
- }
- virtual int findFieldIndex(const char field[])
- {
- for (int i = 0; i < fFieldCount; i++)
- if (fFields[i].equals(field))
- return i;
- return -1;
- }
-
- virtual int countRecords() { return fRecordCount; }
- virtual void getRecord(int rowIndex, int fieldIndex, SkString* data)
- {
- SkASSERT((unsigned)rowIndex < (unsigned)fRecordCount);
- SkASSERT((unsigned)fieldIndex < (unsigned)fFieldCount);
- if (data)
- *data = fRecords[rowIndex * fFieldCount + fieldIndex];
- }
-
- virtual bool prepareWidgetEvent(SkEvent* evt, int rowIndex)
- {
- // hack, for testing right now. Need the xml to tell us what to jam in and where
- SkString data;
-
- this->getRecord(rowIndex, 0, &data);
- evt->setString("xml-listsource", data.c_str());
- return true;
- }
-
+ SkXMLListSource(const char doc[], size_t len);
+ virtual ~SkXMLListSource()
+ {
+ delete[] fFields;
+ delete[] fRecords;
+ }
+
+ virtual int countFields() { return fFieldCount; }
+ virtual void getFieldName(int index, SkString* field)
+ {
+ SkASSERT((unsigned)index < (unsigned)fFieldCount);
+ if (field)
+ *field = fFields[index];
+ }
+ virtual int findFieldIndex(const char field[])
+ {
+ for (int i = 0; i < fFieldCount; i++)
+ if (fFields[i].equals(field))
+ return i;
+ return -1;
+ }
+
+ virtual int countRecords() { return fRecordCount; }
+ virtual void getRecord(int rowIndex, int fieldIndex, SkString* data)
+ {
+ SkASSERT((unsigned)rowIndex < (unsigned)fRecordCount);
+ SkASSERT((unsigned)fieldIndex < (unsigned)fFieldCount);
+ if (data)
+ *data = fRecords[rowIndex * fFieldCount + fieldIndex];
+ }
+
+ virtual bool prepareWidgetEvent(SkEvent* evt, int rowIndex)
+ {
+ // hack, for testing right now. Need the xml to tell us what to jam in and where
+ SkString data;
+
+ this->getRecord(rowIndex, 0, &data);
+ evt->setString("xml-listsource", data.c_str());
+ return true;
+ }
+
private:
- SkString* fFields; // [fFieldCount]
- SkString* fRecords; // [fRecordCount][fFieldCount]
- int fFieldCount, fRecordCount;
+ SkString* fFields; // [fFieldCount]
+ SkString* fRecords; // [fRecordCount][fFieldCount]
+ int fFieldCount, fRecordCount;
};
#include "SkDOM.h"
SkXMLListSource::SkXMLListSource(const char doc[], size_t len)
{
- fFieldCount = fRecordCount = 0;
- fFields = fRecords = NULL;
-
- SkDOM dom;
-
- const SkDOM::Node* node = dom.build(doc, len);
- SkASSERT(node);
- const SkDOM::Node* child;
-
- child = dom.getFirstChild(node, "fields");
- if (child)
- {
- fFieldCount = dom.countChildren(child, "field");
- fFields = new SkString[fFieldCount];
-
- int n = 0;
- child = dom.getFirstChild(child, "field");
- while (child)
- {
- fFields[n].set(dom.findAttr(child, "name"));
- child = dom.getNextSibling(child, "field");
- n += 1;
- }
- SkASSERT(n == fFieldCount);
- }
-
- child = dom.getFirstChild(node, "records");
- if (child)
- {
- fRecordCount = dom.countChildren(child, "record");
- fRecords = new SkString[fRecordCount * fFieldCount];
-
- int n = 0;
- child = dom.getFirstChild(child, "record");
- while (child)
- {
- for (int i = 0; i < fFieldCount; i++)
- fRecords[n * fFieldCount + i].set(dom.findAttr(child, fFields[i].c_str()));
- child = dom.getNextSibling(child, "record");
- n += 1;
- }
- SkASSERT(n == fRecordCount);
- }
+ fFieldCount = fRecordCount = 0;
+ fFields = fRecords = NULL;
+
+ SkDOM dom;
+
+ const SkDOM::Node* node = dom.build(doc, len);
+ SkASSERT(node);
+ const SkDOM::Node* child;
+
+ child = dom.getFirstChild(node, "fields");
+ if (child)
+ {
+ fFieldCount = dom.countChildren(child, "field");
+ fFields = new SkString[fFieldCount];
+
+ int n = 0;
+ child = dom.getFirstChild(child, "field");
+ while (child)
+ {
+ fFields[n].set(dom.findAttr(child, "name"));
+ child = dom.getNextSibling(child, "field");
+ n += 1;
+ }
+ SkASSERT(n == fFieldCount);
+ }
+
+ child = dom.getFirstChild(node, "records");
+ if (child)
+ {
+ fRecordCount = dom.countChildren(child, "record");
+ fRecords = new SkString[fRecordCount * fFieldCount];
+
+ int n = 0;
+ child = dom.getFirstChild(child, "record");
+ while (child)
+ {
+ for (int i = 0; i < fFieldCount; i++)
+ fRecords[n * fFieldCount + i].set(dom.findAttr(child, fFields[i].c_str()));
+ child = dom.getNextSibling(child, "record");
+ n += 1;
+ }
+ SkASSERT(n == fRecordCount);
+ }
}
/////////////////////////////////////////////////////////////////////////////////////////////
SkListSource* SkListSource::Factory(const char name[])
{
- static const char gDoc[] =
- "<db name='contacts.db'>"
- "<fields>"
- "<field name='name'/>"
- "<field name='work-num'/>"
- "<field name='home-num'/>"
- "<field name='type'/>"
- "</fields>"
- "<records>"
- "<record name='Andy McFadden' work-num='919 357-1234' home-num='919 123-4567' type='0'/>"
- "<record name='Brian Swetland' work-num='919 123-1234' home-num='929 123-4567' type='1' />"
- "<record name='Chris Desalvo' work-num='919 345-1234' home-num='949 123-4567' type='1' />"
- "<record name='Chris White' work-num='919 234-1234' home-num='939 123-4567' type='2' />"
- "<record name='Dan Bornstein' work-num='919 357-1234' home-num='919 123-4567' type='0' />"
- "<record name='Don Cung' work-num='919 123-1234' home-num='929 123-4567' type='2' />"
- "<record name='Eric Fischer' work-num='919 345-1234' home-num='949 123-4567' type='2' />"
- "<record name='Ficus Kirkpatric' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
- "<record name='Jack Veenstra' work-num='919 234-1234' home-num='939 123-4567' type='2' />"
- "<record name='Jeff Yaksick' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
- "<record name='Joe Onorato' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
- "<record name='Mathias Agopian' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
- "<record name='Mike Fleming' work-num='919 234-1234' home-num='939 123-4567' type='2' />"
- "<record name='Nick Sears' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
- "<record name='Rich Miner' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
- "<record name='Tracey Cole' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
- "<record name='Wei Huang' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
- "</records>"
- "</db>";
-
+ static const char gDoc[] =
+ "<db name='contacts.db'>"
+ "<fields>"
+ "<field name='name'/>"
+ "<field name='work-num'/>"
+ "<field name='home-num'/>"
+ "<field name='type'/>"
+ "</fields>"
+ "<records>"
+ "<record name='Andy McFadden' work-num='919 357-1234' home-num='919 123-4567' type='0'/>"
+ "<record name='Brian Swetland' work-num='919 123-1234' home-num='929 123-4567' type='1' />"
+ "<record name='Chris Desalvo' work-num='919 345-1234' home-num='949 123-4567' type='1' />"
+ "<record name='Chris White' work-num='919 234-1234' home-num='939 123-4567' type='2' />"
+ "<record name='Dan Bornstein' work-num='919 357-1234' home-num='919 123-4567' type='0' />"
+ "<record name='Don Cung' work-num='919 123-1234' home-num='929 123-4567' type='2' />"
+ "<record name='Eric Fischer' work-num='919 345-1234' home-num='949 123-4567' type='2' />"
+ "<record name='Ficus Kirkpatric' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
+ "<record name='Jack Veenstra' work-num='919 234-1234' home-num='939 123-4567' type='2' />"
+ "<record name='Jeff Yaksick' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
+ "<record name='Joe Onorato' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
+ "<record name='Mathias Agopian' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
+ "<record name='Mike Fleming' work-num='919 234-1234' home-num='939 123-4567' type='2' />"
+ "<record name='Nick Sears' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
+ "<record name='Rich Miner' work-num='919 234-1234' home-num='939 123-4567' type='1' />"
+ "<record name='Tracey Cole' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
+ "<record name='Wei Huang' work-num='919 234-1234' home-num='939 123-4567' type='0' />"
+ "</records>"
+ "</db>";
+
//SkDebugf("doc size %d\n", sizeof(gDoc)-1);
- return new SkXMLListSource(gDoc, sizeof(gDoc) - 1);
+ return new SkXMLListSource(gDoc, sizeof(gDoc) - 1);
}
diff --git a/src/views/animated/SkProgressBarView.cpp b/src/views/animated/SkProgressBarView.cpp
index ce26ac4ed8..e7754eb612 100644
--- a/src/views/animated/SkProgressBarView.cpp
+++ b/src/views/animated/SkProgressBarView.cpp
@@ -13,97 +13,97 @@
SkProgressBarView::SkProgressBarView()
{
- init_skin_anim(kProgress_SkinEnum, &fAnim);
- fAnim.setHostEventSink(this);
- fProgress = 0;
- fMax = 100;
-
+ init_skin_anim(kProgress_SkinEnum, &fAnim);
+ fAnim.setHostEventSink(this);
+ fProgress = 0;
+ fMax = 100;
+
}
void SkProgressBarView::changeProgress(int diff)
{
- int newProg = fProgress + diff;
- if (newProg > 0 && newProg < fMax)
- this->setProgress(newProg);
- //otherwise i'll just leave it as it is
- //this implies that if a new max and progress are set, max must be set first
+ int newProg = fProgress + diff;
+ if (newProg > 0 && newProg < fMax)
+ this->setProgress(newProg);
+ //otherwise i'll just leave it as it is
+ //this implies that if a new max and progress are set, max must be set first
}
/*virtual*/ void SkProgressBarView::onDraw(SkCanvas* canvas)
{
- SkPaint paint;
- SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
-
- if (diff == SkAnimator::kDifferent)
- this->inval(NULL);
- else if (diff == SkAnimator::kPartiallyDifferent)
- {
- SkRect bounds;
- fAnim.getInvalBounds(&bounds);
- this->inval(&bounds);
- }
+ SkPaint paint;
+ SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
+
+ if (diff == SkAnimator::kDifferent)
+ this->inval(NULL);
+ else if (diff == SkAnimator::kPartiallyDifferent)
+ {
+ SkRect bounds;
+ fAnim.getInvalBounds(&bounds);
+ this->inval(&bounds);
+ }
}
-
+
/*virtual*/ bool SkProgressBarView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Inval))
- {
- this->inval(NULL);
- return true;
- }
- if (evt.isType("recommendDim"))
- {
- SkScalar height;
-
- if (evt.findScalar("y", &height))
- this->setHeight(height);
- return true;
- }
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Inval))
+ {
+ this->inval(NULL);
+ return true;
+ }
+ if (evt.isType("recommendDim"))
+ {
+ SkScalar height;
+
+ if (evt.findScalar("y", &height))
+ this->setHeight(height);
+ return true;
+ }
+ return this->INHERITED::onEvent(evt);
}
/*virtual*/ void SkProgressBarView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
- int32_t temp;
- if (dom.findS32(node, "max", &temp))
- this->setMax(temp);
- if (dom.findS32(node, "progress", &temp))
- this->setProgress(temp);
+ this->INHERITED::onInflate(dom, node);
+ int32_t temp;
+ if (dom.findS32(node, "max", &temp))
+ this->setMax(temp);
+ if (dom.findS32(node, "progress", &temp))
+ this->setProgress(temp);
}
/*virtual*/ void SkProgressBarView::onSizeChange()
{
- this->INHERITED::onSizeChange();
- SkEvent evt("user");
- evt.setString("id", "setDim");
- evt.setScalar("dimX", this->width());
- evt.setScalar("dimY", this->height());
- fAnim.doUserEvent(evt);
+ this->INHERITED::onSizeChange();
+ SkEvent evt("user");
+ evt.setString("id", "setDim");
+ evt.setScalar("dimX", this->width());
+ evt.setScalar("dimY", this->height());
+ fAnim.doUserEvent(evt);
}
void SkProgressBarView::reset()
{
- fProgress = 0;
- SkEvent e("user");
- e.setString("id", "reset");
- fAnim.doUserEvent(e);
+ fProgress = 0;
+ SkEvent e("user");
+ e.setString("id", "reset");
+ fAnim.doUserEvent(e);
}
void SkProgressBarView::setMax(int max)
{
- fMax = max;
- SkEvent e("user");
- e.setString("id", "setMax");
- e.setS32("newMax", max);
- fAnim.doUserEvent(e);
+ fMax = max;
+ SkEvent e("user");
+ e.setString("id", "setMax");
+ e.setS32("newMax", max);
+ fAnim.doUserEvent(e);
}
void SkProgressBarView::setProgress(int progress)
{
- fProgress = progress;
- SkEvent e("user");
- e.setString("id", "setProgress");
- e.setS32("newProgress", progress);
- fAnim.doUserEvent(e);
+ fProgress = progress;
+ SkEvent e("user");
+ e.setString("id", "setProgress");
+ e.setS32("newProgress", progress);
+ fAnim.doUserEvent(e);
}
diff --git a/src/views/animated/SkScrollBarView.cpp b/src/views/animated/SkScrollBarView.cpp
index 98288f5b74..0d937750be 100644
--- a/src/views/animated/SkScrollBarView.cpp
+++ b/src/views/animated/SkScrollBarView.cpp
@@ -16,131 +16,131 @@
SkScrollBarView::SkScrollBarView()
{
- fAnim.setHostEventSink(this);
- init_skin_anim(kScroll_SkinEnum, &fAnim);
+ fAnim.setHostEventSink(this);
+ init_skin_anim(kScroll_SkinEnum, &fAnim);
- fTotalLength = 0;
- fStartPoint = 0;
- fShownLength = 0;
+ fTotalLength = 0;
+ fStartPoint = 0;
+ fShownLength = 0;
- this->adjust();
+ this->adjust();
}
void SkScrollBarView::setStart(unsigned start)
{
- if ((int)start < 0)
- start = 0;
-
- if (fStartPoint != start)
- {
- fStartPoint = start;
- this->adjust();
- }
+ if ((int)start < 0)
+ start = 0;
+
+ if (fStartPoint != start)
+ {
+ fStartPoint = start;
+ this->adjust();
+ }
}
void SkScrollBarView::setShown(unsigned shown)
{
- if ((int)shown < 0)
- shown = 0;
-
- if (fShownLength != shown)
- {
- fShownLength = shown;
- this->adjust();
- }
+ if ((int)shown < 0)
+ shown = 0;
+
+ if (fShownLength != shown)
+ {
+ fShownLength = shown;
+ this->adjust();
+ }
}
void SkScrollBarView::setTotal(unsigned total)
{
- if ((int)total < 0)
- total = 0;
-
- if (fTotalLength != total)
- {
- fTotalLength = total;
- this->adjust();
- }
+ if ((int)total < 0)
+ total = 0;
+
+ if (fTotalLength != total)
+ {
+ fTotalLength = total;
+ this->adjust();
+ }
}
/* virtual */ void SkScrollBarView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
- this->INHERITED::onInflate(dom, node);
-
- int32_t value;
- if (dom.findS32(node, "total", &value))
- this->setTotal(value);
- if (dom.findS32(node, "shown", &value))
- this->setShown(value);
+ this->INHERITED::onInflate(dom, node);
+
+ int32_t value;
+ if (dom.findS32(node, "total", &value))
+ this->setTotal(value);
+ if (dom.findS32(node, "shown", &value))
+ this->setShown(value);
}
/*virtual*/ void SkScrollBarView::onSizeChange()
{
- this->INHERITED::onSizeChange();
- SkEvent evt("user");
- evt.setString("id", "setDim");
- evt.setScalar("dimX", this->width());
- evt.setScalar("dimY", this->height());
- fAnim.doUserEvent(evt);
+ this->INHERITED::onSizeChange();
+ SkEvent evt("user");
+ evt.setString("id", "setDim");
+ evt.setScalar("dimX", this->width());
+ evt.setScalar("dimY", this->height());
+ fAnim.doUserEvent(evt);
}
/*virtual*/ void SkScrollBarView::onDraw(SkCanvas* canvas)
{
- SkPaint paint;
- SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
-
- if (diff == SkAnimator::kDifferent)
- this->inval(NULL);
- else if (diff == SkAnimator::kPartiallyDifferent)
- {
- SkRect bounds;
- fAnim.getInvalBounds(&bounds);
- this->inval(&bounds);
- }
+ SkPaint paint;
+ SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
+
+ if (diff == SkAnimator::kDifferent)
+ this->inval(NULL);
+ else if (diff == SkAnimator::kPartiallyDifferent)
+ {
+ SkRect bounds;
+ fAnim.getInvalBounds(&bounds);
+ this->inval(&bounds);
+ }
}
/*virtual*/ bool SkScrollBarView::onEvent(const SkEvent& evt)
{
- if (evt.isType(SK_EventType_Inval))
- {
- this->inval(NULL);
- return true;
- }
- if (evt.isType("recommendDim"))
- {
- SkScalar width;
-
- if (evt.findScalar("x", &width))
- this->setWidth(width);
- return true;
- }
-
- return this->INHERITED::onEvent(evt);
+ if (evt.isType(SK_EventType_Inval))
+ {
+ this->inval(NULL);
+ return true;
+ }
+ if (evt.isType("recommendDim"))
+ {
+ SkScalar width;
+
+ if (evt.findScalar("x", &width))
+ this->setWidth(width);
+ return true;
+ }
+
+ return this->INHERITED::onEvent(evt);
}
void SkScrollBarView::adjust()
{
- int total = fTotalLength;
- int start = fStartPoint;
- int shown = fShownLength;
- int hideBar = 0;
-
- if (total <= 0 || shown <= 0 || shown >= total) // no bar to show
- {
- total = 1; // avoid divide-by-zero. should be done by skin/script
- hideBar = 1; // signal we don't want a thumb
- }
- else
- {
- if (start + shown > total)
- start = total - shown;
- }
-
- SkEvent e("user");
- e.setString("id", "adjustScrollBar");
- e.setScalar("_totalLength", SkIntToScalar(total));
- e.setScalar("_startPoint", SkIntToScalar(start));
- e.setScalar("_shownLength", SkIntToScalar(shown));
-// e.setS32("hideBar", hideBar);
- fAnim.doUserEvent(e);
+ int total = fTotalLength;
+ int start = fStartPoint;
+ int shown = fShownLength;
+ int hideBar = 0;
+
+ if (total <= 0 || shown <= 0 || shown >= total) // no bar to show
+ {
+ total = 1; // avoid divide-by-zero. should be done by skin/script
+ hideBar = 1; // signal we don't want a thumb
+ }
+ else
+ {
+ if (start + shown > total)
+ start = total - shown;
+ }
+
+ SkEvent e("user");
+ e.setString("id", "adjustScrollBar");
+ e.setScalar("_totalLength", SkIntToScalar(total));
+ e.setScalar("_startPoint", SkIntToScalar(start));
+ e.setScalar("_shownLength", SkIntToScalar(shown));
+// e.setS32("hideBar", hideBar);
+ fAnim.doUserEvent(e);
}
diff --git a/src/views/animated/SkStaticTextView.cpp b/src/views/animated/SkStaticTextView.cpp
index 79eecd6cbd..8ab11835d7 100644
--- a/src/views/animated/SkStaticTextView.cpp
+++ b/src/views/animated/SkStaticTextView.cpp
@@ -21,11 +21,11 @@ static void assert_no_attr(const SkDOM& dom, const SkDOM::Node* node, const char
SkStaticTextView::SkStaticTextView()
{
- fMargin.set(0, 0);
- fMode = kFixedSize_Mode;
- fSpacingAlign = SkTextBox::kStart_SpacingAlign;
-
-// init_skin_paint(kStaticText_SkinEnum, &fPaint);
+ fMargin.set(0, 0);
+ fMode = kFixedSize_Mode;
+ fSpacingAlign = SkTextBox::kStart_SpacingAlign;
+
+// init_skin_paint(kStaticText_SkinEnum, &fPaint);
}
SkStaticTextView::~SkStaticTextView()
@@ -34,155 +34,155 @@ SkStaticTextView::~SkStaticTextView()
void SkStaticTextView::computeSize()
{
- if (fMode == kAutoWidth_Mode)
- {
- SkScalar width = fPaint.measureText(fText.c_str(), fText.size());
- this->setWidth(width + fMargin.fX * 2);
- }
- else if (fMode == kAutoHeight_Mode)
- {
- SkScalar width = this->width() - fMargin.fX * 2;
- int lines = width > 0 ? SkTextLineBreaker::CountLines(fText.c_str(), fText.size(), fPaint, width) : 0;
+ if (fMode == kAutoWidth_Mode)
+ {
+ SkScalar width = fPaint.measureText(fText.c_str(), fText.size());
+ this->setWidth(width + fMargin.fX * 2);
+ }
+ else if (fMode == kAutoHeight_Mode)
+ {
+ SkScalar width = this->width() - fMargin.fX * 2;
+ int lines = width > 0 ? SkTextLineBreaker::CountLines(fText.c_str(), fText.size(), fPaint, width) : 0;
- this->setHeight(lines * fPaint.getFontSpacing() + fMargin.fY * 2);
- }
+ this->setHeight(lines * fPaint.getFontSpacing() + fMargin.fY * 2);
+ }
}
void SkStaticTextView::setMode(Mode mode)
{
- SkASSERT((unsigned)mode < kModeCount);
+ SkASSERT((unsigned)mode < kModeCount);
- if (fMode != mode)
- {
- fMode = SkToU8(mode);
- this->computeSize();
- }
+ if (fMode != mode)
+ {
+ fMode = SkToU8(mode);
+ this->computeSize();
+ }
}
void SkStaticTextView::setSpacingAlign(SkTextBox::SpacingAlign align)
{
- fSpacingAlign = SkToU8(align);
- this->inval(NULL);
+ fSpacingAlign = SkToU8(align);
+ this->inval(NULL);
}
void SkStaticTextView::getMargin(SkPoint* margin) const
{
- if (margin)
- *margin = fMargin;
+ if (margin)
+ *margin = fMargin;
}
void SkStaticTextView::setMargin(SkScalar dx, SkScalar dy)
{
- if (fMargin.fX != dx || fMargin.fY != dy)
- {
- fMargin.set(dx, dy);
- this->computeSize();
- this->inval(NULL);
- }
+ if (fMargin.fX != dx || fMargin.fY != dy)
+ {
+ fMargin.set(dx, dy);
+ this->computeSize();
+ this->inval(NULL);
+ }
}
size_t SkStaticTextView::getText(SkString* text) const
{
- if (text)
- *text = fText;
- return fText.size();
+ if (text)
+ *text = fText;
+ return fText.size();
}
size_t SkStaticTextView::getText(char text[]) const
{
- if (text)
- memcpy(text, fText.c_str(), fText.size());
- return fText.size();
+ if (text)
+ memcpy(text, fText.c_str(), fText.size());
+ return fText.size();
}
void SkStaticTextView::setText(const SkString& text)
{
- this->setText(text.c_str(), text.size());
+ this->setText(text.c_str(), text.size());
}
void SkStaticTextView::setText(const char text[])
{
- if (text == NULL)
- text = "";
- this->setText(text, strlen(text));
+ if (text == NULL)
+ text = "";
+ this->setText(text, strlen(text));
}
void SkStaticTextView::setText(const char text[], size_t len)
{
- if (!fText.equals(text, len))
- {
- fText.set(text, len);
- this->computeSize();
- this->inval(NULL);
- }
+ if (!fText.equals(text, len))
+ {
+ fText.set(text, len);
+ this->computeSize();
+ this->inval(NULL);
+ }
}
void SkStaticTextView::getPaint(SkPaint* paint) const
{
- if (paint)
- *paint = fPaint;
+ if (paint)
+ *paint = fPaint;
}
void SkStaticTextView::setPaint(const SkPaint& paint)
{
- if (fPaint != paint)
- {
- fPaint = paint;
- this->computeSize();
- this->inval(NULL);
- }
+ if (fPaint != paint)
+ {
+ fPaint = paint;
+ this->computeSize();
+ this->inval(NULL);
+ }
}
void SkStaticTextView::onDraw(SkCanvas* canvas)
{
- this->INHERITED::onDraw(canvas);
+ this->INHERITED::onDraw(canvas);
- if (fText.isEmpty())
- return;
+ if (fText.isEmpty())
+ return;
- SkTextBox box;
+ SkTextBox box;
- box.setMode(fMode == kAutoWidth_Mode ? SkTextBox::kOneLine_Mode : SkTextBox::kLineBreak_Mode);
- box.setSpacingAlign(this->getSpacingAlign());
- box.setBox(fMargin.fX, fMargin.fY, this->width() - fMargin.fX, this->height() - fMargin.fY);
- box.draw(canvas, fText.c_str(), fText.size(), fPaint);
+ box.setMode(fMode == kAutoWidth_Mode ? SkTextBox::kOneLine_Mode : SkTextBox::kLineBreak_Mode);
+ box.setSpacingAlign(this->getSpacingAlign());
+ box.setBox(fMargin.fX, fMargin.fY, this->width() - fMargin.fX, this->height() - fMargin.fY);
+ box.draw(canvas, fText.c_str(), fText.size(), fPaint);
}
void SkStaticTextView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
if (false) { // avoid bit rot, suppress warning
- this->INHERITED::onInflate(dom, node);
-
- int index;
- if ((index = dom.findList(node, "mode", "fixed,auto-width,auto-height")) >= 0)
- this->setMode((Mode)index);
- else
- assert_no_attr(dom, node, "mode");
-
- if ((index = dom.findList(node, "spacing-align", "start,center,end")) >= 0)
- this->setSpacingAlign((SkTextBox::SpacingAlign)index);
- else
- assert_no_attr(dom, node, "spacing-align");
-
- SkScalar s[2];
- if (dom.findScalars(node, "margin", s, 2))
- this->setMargin(s[0], s[1]);
- else
- assert_no_attr(dom, node, "margin");
-
- const char* text = dom.findAttr(node, "text");
- if (text)
- this->setText(text);
-
- if ((node = dom.getFirstChild(node, "paint")) != NULL &&
- (node = dom.getFirstChild(node, "screenplay")) != NULL)
- {
+ this->INHERITED::onInflate(dom, node);
+
+ int index;
+ if ((index = dom.findList(node, "mode", "fixed,auto-width,auto-height")) >= 0)
+ this->setMode((Mode)index);
+ else
+ assert_no_attr(dom, node, "mode");
+
+ if ((index = dom.findList(node, "spacing-align", "start,center,end")) >= 0)
+ this->setSpacingAlign((SkTextBox::SpacingAlign)index);
+ else
+ assert_no_attr(dom, node, "spacing-align");
+
+ SkScalar s[2];
+ if (dom.findScalars(node, "margin", s, 2))
+ this->setMargin(s[0], s[1]);
+ else
+ assert_no_attr(dom, node, "margin");
+
+ const char* text = dom.findAttr(node, "text");
+ if (text)
+ this->setText(text);
+
+ if ((node = dom.getFirstChild(node, "paint")) != NULL &&
+ (node = dom.getFirstChild(node, "screenplay")) != NULL)
+ {
// FIXME: Including inflate_paint causes Windows build to fail -- it complains
// that SKListView::SkListView is undefined.
#if 0
- inflate_paint(dom, node, &fPaint);
+ inflate_paint(dom, node, &fPaint);
#endif
- }
+ }
}
}
diff --git a/src/views/animated/SkWidgetViews.cpp b/src/views/animated/SkWidgetViews.cpp
index ee03b7b1a7..9c1cae7fb2 100644
--- a/src/views/animated/SkWidgetViews.cpp
+++ b/src/views/animated/SkWidgetViews.cpp
@@ -19,7 +19,7 @@ enum SkinEnum {
kProgress_SkinEnum,
kScroll_SkinEnum,
kStaticText_SkinEnum,
-
+
kSkinEnumCount
};
*/
@@ -45,7 +45,7 @@ void init_skin_anim(const char path[], SkAnimator* anim)
{
SkASSERT(path && anim);
- SkFILEStream stream(path);
+ SkFILEStream stream(path);
if (!stream.isValid())
{
@@ -69,9 +69,9 @@ void init_skin_paint(SkinEnum se, SkPaint* paint)
{
SkASSERT(paint);
- SkAnimator anim;
- SkCanvas canvas;
-
+ SkAnimator anim;
+ SkCanvas canvas;
+
init_skin_anim(se, &anim);
anim.draw(&canvas, paint, 0);
}
@@ -80,15 +80,15 @@ void inflate_paint(const SkDOM& dom, const SkDOM::Node* node, SkPaint* paint)
{
SkASSERT(paint);
- SkAnimator anim;
- SkCanvas canvas;
-
+ SkAnimator anim;
+ SkCanvas canvas;
+
if (!anim.decodeDOM(dom, node))
{
SkDEBUGF(("inflate_paint: decoding dom failed\n"));
SkDEBUGCODE(dom.dump(node);)
sk_throw();
- }
+ }
anim.draw(&canvas, paint, 0);
}
@@ -102,7 +102,7 @@ const char* SkWidgetView::getLabel() const
{
return fLabel.c_str();
}
-
+
void SkWidgetView::getLabel(SkString* label) const
{
if (label)
@@ -118,7 +118,7 @@ void SkWidgetView::setLabel(const char label[], size_t len)
{
if ((label == NULL && fLabel.size() != 0) || !fLabel.equals(label, len))
{
- SkString tmp(label, len);
+ SkString tmp(label, len);
this->onLabelChange(fLabel.c_str(), tmp.c_str());
fLabel.swap(tmp);
@@ -138,13 +138,13 @@ bool SkWidgetView::postWidgetEvent()
{
if (!fEvent.isType(""))
{
- SkEvent evt(fEvent); // make a copy since onPrepareWidgetEvent may edit the event
+ SkEvent evt(fEvent); // make a copy since onPrepareWidgetEvent may edit the event
if (this->onPrepareWidgetEvent(&evt))
{
SkDEBUGCODE(evt.dump("SkWidgetView::postWidgetEvent");)
- this->postToListeners(evt); // wonder if this should return true if there are > 0 listeners...
+ this->postToListeners(evt); // wonder if this should return true if there are > 0 listeners...
return true;
}
}
@@ -158,7 +158,7 @@ bool SkWidgetView::postWidgetEvent()
const char* label = dom.findAttr(node, "label");
if (label)
this->setLabel(label);
-
+
if ((node = dom.getFirstChild(node, "event")) != NULL)
fEvent.inflate(dom, node);
}
@@ -178,8 +178,8 @@ static const char gWidgetEventSinkIDSlotName[] = "sk-widget-sinkid-slot";
SkEventSinkID SkWidgetView::GetWidgetEventSinkID(const SkEvent& evt)
{
- int32_t sinkID;
-
+ int32_t sinkID;
+
return evt.findS32(gWidgetEventSinkIDSlotName, &sinkID) ? (SkEventSinkID)sinkID : 0;
}
@@ -204,14 +204,14 @@ SkCheckButtonView::SkCheckButtonView() : fCheckState(kOff_CheckState)
void SkCheckButtonView::setCheckState(CheckState state)
{
SkASSERT((unsigned)state <= kUnknown_CheckState);
-
+
if (fCheckState != state)
{
this->onCheckStateChange(this->getCheckState(), state);
fCheckState = SkToU8(state);
}
}
-
+
/*virtual*/ void SkCheckButtonView::onCheckStateChange(CheckState oldState, CheckState newState)
{
this->inval(NULL);
@@ -220,7 +220,7 @@ void SkCheckButtonView::setCheckState(CheckState state)
/*virtual*/ void SkCheckButtonView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
{
this->INHERITED::onInflate(dom, node);
-
+
int index = dom.findList(node, "check-state", "off,on,unknown");
if (index >= 0)
this->setCheckState((CheckState)index);
@@ -238,8 +238,8 @@ static const char gCheckStateSlotName[] = "sk-checkbutton-check-slot";
bool SkCheckButtonView::GetWidgetEventCheckState(const SkEvent& evt, CheckState* state)
{
- int32_t state32;
-
+ int32_t state32;
+
if (evt.findS32(gCheckStateSlotName, &state32))
{
if (state)
@@ -274,7 +274,7 @@ protected:
evt.setString("LABEL", newLabel);
fAnim.doUserEvent(evt);
}
-
+
virtual void onFocusChange(bool gainFocus)
{
this->INHERITED::onFocusChange(gainFocus);
@@ -298,19 +298,19 @@ protected:
virtual void onDraw(SkCanvas* canvas)
{
- SkPaint paint;
- SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
-
+ SkPaint paint;
+ SkAnimator::DifferenceType diff = fAnim.draw(canvas, &paint, SkTime::GetMSecs());
+
if (diff == SkAnimator::kDifferent)
this->inval(NULL);
else if (diff == SkAnimator::kPartiallyDifferent)
{
- SkRect bounds;
+ SkRect bounds;
fAnim.getInvalBounds(&bounds);
this->inval(&bounds);
}
}
-
+
virtual bool onEvent(const SkEvent& evt)
{
if (evt.isType(SK_EventType_Inval))
@@ -320,20 +320,20 @@ protected:
}
if (evt.isType("recommendDim"))
{
- SkScalar height;
-
+ SkScalar height;
+
if (evt.findScalar("y", &height))
this->setHeight(height);
return true;
}
return this->INHERITED::onEvent(evt);
}
-
+
virtual bool onPrepareWidgetEvent(SkEvent* evt)
{
if (this->INHERITED::onPrepareWidgetEvent(evt))
{
- SkEvent e("user");
+ SkEvent e("user");
e.setString("id", "handlePress");
(void)fAnim.doUserEvent(e);
return true;
@@ -342,8 +342,8 @@ protected:
}
private:
- SkAnimator fAnim;
-
+ SkAnimator fAnim;
+
typedef SkButtonView INHERITED;
};
@@ -354,7 +354,7 @@ SkView* SkWidgetFactory(const char name[])
{
if (name == NULL)
return NULL;
-
+
// must be in the same order as the SkSkinWidgetEnum is declared
static const char* gNames[] = {
"sk-border",
@@ -364,7 +364,7 @@ SkView* SkWidgetFactory(const char name[])
"sk-progress",
"sk-scroll",
"sk-text"
-
+
};
for (size_t i = 0; i < SK_ARRAY_COUNT(gNames); i++)
diff --git a/src/views/mac/SkNSView.h b/src/views/mac/SkNSView.h
index 8b83b34f49..109a9982cc 100644
--- a/src/views/mac/SkNSView.h
+++ b/src/views/mac/SkNSView.h
@@ -21,7 +21,7 @@ class SkEvent;
@interface SkNSView : NSView {
BOOL fRedrawRequestPending;
-
+
NSString* fTitle;
SkOSWindow* fWind;
#if SK_SUPPORT_GPU
diff --git a/src/views/mac/SkOSWindow_Mac.cpp b/src/views/mac/SkOSWindow_Mac.cpp
index 63106f088d..ec107901f8 100644
--- a/src/views/mac/SkOSWindow_Mac.cpp
+++ b/src/views/mac/SkOSWindow_Mac.cpp
@@ -26,15 +26,15 @@
static void (*gPrevNewHandler)();
extern "C" {
- static void sk_new_handler()
- {
- if (SkGraphics::SetFontCacheUsed(0))
- return;
- if (gPrevNewHandler)
- gPrevNewHandler();
- else
- sk_throw();
- }
+ static void sk_new_handler()
+ {
+ if (SkGraphics::SetFontCacheUsed(0))
+ return;
+ if (gPrevNewHandler)
+ gPrevNewHandler();
+ else
+ sk_throw();
+ }
}
static SkOSWindow* gCurrOSWin;
@@ -43,36 +43,36 @@ static EventQueueRef gCurrEventQ;
static OSStatus MyDrawEventHandler(EventHandlerCallRef myHandler,
EventRef event, void *userData) {
- // NOTE: GState is save/restored by the HIView system doing the callback,
+ // NOTE: GState is save/restored by the HIView system doing the callback,
// so the draw handler doesn't need to do it
- OSStatus status = noErr;
- CGContextRef context;
- HIRect bounds;
+ OSStatus status = noErr;
+ CGContextRef context;
+ HIRect bounds;
- // Get the CGContextRef
- status = GetEventParameter (event, kEventParamCGContextRef,
+ // Get the CGContextRef
+ status = GetEventParameter (event, kEventParamCGContextRef,
typeCGContextRef, NULL,
sizeof (CGContextRef),
NULL,
&context);
- if (status != noErr) {
- SkDebugf("Got error %d getting the context!\n", status);
- return status;
- }
+ if (status != noErr) {
+ SkDebugf("Got error %d getting the context!\n", status);
+ return status;
+ }
- // Get the bounding rectangle
- HIViewGetBounds ((HIViewRef) userData, &bounds);
+ // Get the bounding rectangle
+ HIViewGetBounds ((HIViewRef) userData, &bounds);
gCurrOSWin->doPaint(context);
- return status;
+ return status;
}
-#define SK_MacEventClass FOUR_CHAR_CODE('SKec')
-#define SK_MacEventKind FOUR_CHAR_CODE('SKek')
-#define SK_MacEventParamName FOUR_CHAR_CODE('SKev')
-#define SK_MacEventSinkIDParamName FOUR_CHAR_CODE('SKes')
+#define SK_MacEventClass FOUR_CHAR_CODE('SKec')
+#define SK_MacEventKind FOUR_CHAR_CODE('SKek')
+#define SK_MacEventParamName FOUR_CHAR_CODE('SKev')
+#define SK_MacEventSinkIDParamName FOUR_CHAR_CODE('SKes')
static void set_bindingside(HISideBinding* side, HIViewRef parent, HIBindingKind kind) {
side->toView = parent;
@@ -94,17 +94,17 @@ static void set_axisposition(HIAxisPosition* pos, HIViewRef parent, HIPositionKi
SkOSWindow::SkOSWindow(void* hWnd) : fHWND(hWnd), fAGLCtx(NULL)
{
- OSStatus result;
+ OSStatus result;
WindowRef wr = (WindowRef)hWnd;
HIViewRef imageView, parent;
HIViewRef rootView = HIViewGetRoot(wr);
HIViewFindByID(rootView, kHIViewWindowContentID, &parent);
result = HIImageViewCreate(NULL, &imageView);
- SkASSERT(result == noErr);
+ SkASSERT(result == noErr);
result = HIViewAddSubview(parent, imageView);
- SkASSERT(result == noErr);
+ SkASSERT(result == noErr);
fHVIEW = imageView;
@@ -128,41 +128,41 @@ SkOSWindow::SkOSWindow(void* hWnd) : fHWND(hWnd), fAGLCtx(NULL)
HIImageViewSetOpaque(imageView, true);
HIImageViewSetScaleToFit(imageView, false);
- static const EventTypeSpec gTypes[] = {
- { kEventClassKeyboard, kEventRawKeyDown },
+ static const EventTypeSpec gTypes[] = {
+ { kEventClassKeyboard, kEventRawKeyDown },
{ kEventClassKeyboard, kEventRawKeyUp },
- { kEventClassMouse, kEventMouseDown },
- { kEventClassMouse, kEventMouseDragged },
- { kEventClassMouse, kEventMouseMoved },
- { kEventClassMouse, kEventMouseUp },
- { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent },
- { kEventClassWindow, kEventWindowBoundsChanged },
-// { kEventClassWindow, kEventWindowDrawContent },
- { SK_MacEventClass, SK_MacEventKind }
- };
-
- EventHandlerUPP handlerUPP = NewEventHandlerUPP(SkOSWindow::EventHandler);
- int count = SK_ARRAY_COUNT(gTypes);
-
- result = InstallEventHandler(GetWindowEventTarget(wr), handlerUPP,
- count, gTypes, this, nil);
- SkASSERT(result == noErr);
-
- gCurrOSWin = this;
- gCurrEventQ = GetCurrentEventQueue();
- gEventTarget = GetWindowEventTarget(wr);
-
- static bool gOnce = true;
- if (gOnce) {
- gOnce = false;
- gPrevNewHandler = set_new_handler(sk_new_handler);
- }
+ { kEventClassMouse, kEventMouseDown },
+ { kEventClassMouse, kEventMouseDragged },
+ { kEventClassMouse, kEventMouseMoved },
+ { kEventClassMouse, kEventMouseUp },
+ { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent },
+ { kEventClassWindow, kEventWindowBoundsChanged },
+// { kEventClassWindow, kEventWindowDrawContent },
+ { SK_MacEventClass, SK_MacEventKind }
+ };
+
+ EventHandlerUPP handlerUPP = NewEventHandlerUPP(SkOSWindow::EventHandler);
+ int count = SK_ARRAY_COUNT(gTypes);
+
+ result = InstallEventHandler(GetWindowEventTarget(wr), handlerUPP,
+ count, gTypes, this, nil);
+ SkASSERT(result == noErr);
+
+ gCurrOSWin = this;
+ gCurrEventQ = GetCurrentEventQueue();
+ gEventTarget = GetWindowEventTarget(wr);
+
+ static bool gOnce = true;
+ if (gOnce) {
+ gOnce = false;
+ gPrevNewHandler = set_new_handler(sk_new_handler);
+ }
}
void SkOSWindow::doPaint(void* ctx)
{
#if 0
- this->update(NULL);
+ this->update(NULL);
const SkBitmap& bm = this->getBitmap();
CGImageRef img = SkCreateCGImageRef(bm);
@@ -187,10 +187,10 @@ void SkOSWindow::doPaint(void* ctx)
void SkOSWindow::updateSize()
{
- Rect r;
+ Rect r;
- GetWindowBounds((WindowRef)fHWND, kWindowContentRgn, &r);
- this->resize(r.right - r.left, r.bottom - r.top);
+ GetWindowBounds((WindowRef)fHWND, kWindowContentRgn, &r);
+ this->resize(r.right - r.left, r.bottom - r.top);
#if 0
HIRect frame;
@@ -238,24 +238,24 @@ void SkOSWindow::onAddMenu(const SkOSMenu* sk_menu)
static void getparam(EventRef inEvent, OSType name, OSType type, UInt32 size, void* data)
{
- EventParamType actualType;
- UInt32 actualSize;
- OSStatus status;
-
- status = GetEventParameter(inEvent, name, type, &actualType, size, &actualSize, data);
- SkASSERT(status == noErr);
- SkASSERT(actualType == type);
- SkASSERT(actualSize == size);
+ EventParamType actualType;
+ UInt32 actualSize;
+ OSStatus status;
+
+ status = GetEventParameter(inEvent, name, type, &actualType, size, &actualSize, data);
+ SkASSERT(status == noErr);
+ SkASSERT(actualType == type);
+ SkASSERT(actualSize == size);
}
enum {
- SK_MacReturnKey = 36,
- SK_MacDeleteKey = 51,
- SK_MacEndKey = 119,
- SK_MacLeftKey = 123,
- SK_MacRightKey = 124,
- SK_MacDownKey = 125,
- SK_MacUpKey = 126,
+ SK_MacReturnKey = 36,
+ SK_MacDeleteKey = 51,
+ SK_MacEndKey = 119,
+ SK_MacLeftKey = 123,
+ SK_MacRightKey = 124,
+ SK_MacDownKey = 125,
+ SK_MacUpKey = 126,
SK_Mac0Key = 0x52,
SK_Mac1Key = 0x53,
@@ -271,17 +271,17 @@ enum {
static SkKey raw2key(UInt32 raw)
{
- static const struct {
- UInt32 fRaw;
- SkKey fKey;
- } gKeys[] = {
- { SK_MacUpKey, kUp_SkKey },
- { SK_MacDownKey, kDown_SkKey },
- { SK_MacLeftKey, kLeft_SkKey },
- { SK_MacRightKey, kRight_SkKey },
- { SK_MacReturnKey, kOK_SkKey },
- { SK_MacDeleteKey, kBack_SkKey },
- { SK_MacEndKey, kEnd_SkKey },
+ static const struct {
+ UInt32 fRaw;
+ SkKey fKey;
+ } gKeys[] = {
+ { SK_MacUpKey, kUp_SkKey },
+ { SK_MacDownKey, kDown_SkKey },
+ { SK_MacLeftKey, kLeft_SkKey },
+ { SK_MacRightKey, kRight_SkKey },
+ { SK_MacReturnKey, kOK_SkKey },
+ { SK_MacDeleteKey, kBack_SkKey },
+ { SK_MacEndKey, kEnd_SkKey },
{ SK_Mac0Key, k0_SkKey },
{ SK_Mac1Key, k1_SkKey },
{ SK_Mac2Key, k2_SkKey },
@@ -292,54 +292,54 @@ static SkKey raw2key(UInt32 raw)
{ SK_Mac7Key, k7_SkKey },
{ SK_Mac8Key, k8_SkKey },
{ SK_Mac9Key, k9_SkKey }
- };
+ };
- for (unsigned i = 0; i < SK_ARRAY_COUNT(gKeys); i++)
- if (gKeys[i].fRaw == raw)
- return gKeys[i].fKey;
- return kNONE_SkKey;
+ for (unsigned i = 0; i < SK_ARRAY_COUNT(gKeys); i++)
+ if (gKeys[i].fRaw == raw)
+ return gKeys[i].fKey;
+ return kNONE_SkKey;
}
static void post_skmacevent()
{
- EventRef ref;
- OSStatus status = CreateEvent(nil, SK_MacEventClass, SK_MacEventKind, 0, 0, &ref);
- SkASSERT(status == noErr);
+ EventRef ref;
+ OSStatus status = CreateEvent(nil, SK_MacEventClass, SK_MacEventKind, 0, 0, &ref);
+ SkASSERT(status == noErr);
#if 0
- status = SetEventParameter(ref, SK_MacEventParamName, SK_MacEventParamName, sizeof(evt), &evt);
- SkASSERT(status == noErr);
- status = SetEventParameter(ref, SK_MacEventSinkIDParamName, SK_MacEventSinkIDParamName, sizeof(sinkID), &sinkID);
- SkASSERT(status == noErr);
+ status = SetEventParameter(ref, SK_MacEventParamName, SK_MacEventParamName, sizeof(evt), &evt);
+ SkASSERT(status == noErr);
+ status = SetEventParameter(ref, SK_MacEventSinkIDParamName, SK_MacEventSinkIDParamName, sizeof(sinkID), &sinkID);
+ SkASSERT(status == noErr);
#endif
- EventTargetRef target = gEventTarget;
- SetEventParameter(ref, kEventParamPostTarget, typeEventTargetRef, sizeof(target), &target);
- SkASSERT(status == noErr);
+ EventTargetRef target = gEventTarget;
+ SetEventParameter(ref, kEventParamPostTarget, typeEventTargetRef, sizeof(target), &target);
+ SkASSERT(status == noErr);
- status = PostEventToQueue(gCurrEventQ, ref, kEventPriorityStandard);
- SkASSERT(status == noErr);
+ status = PostEventToQueue(gCurrEventQ, ref, kEventPriorityStandard);
+ SkASSERT(status == noErr);
- ReleaseEvent(ref);
+ ReleaseEvent(ref);
}
pascal OSStatus SkOSWindow::EventHandler( EventHandlerCallRef inHandler, EventRef inEvent, void* userData )
{
- SkOSWindow* win = (SkOSWindow*)userData;
- OSStatus result = eventNotHandledErr;
- UInt32 wClass = GetEventClass(inEvent);
- UInt32 wKind = GetEventKind(inEvent);
+ SkOSWindow* win = (SkOSWindow*)userData;
+ OSStatus result = eventNotHandledErr;
+ UInt32 wClass = GetEventClass(inEvent);
+ UInt32 wKind = GetEventKind(inEvent);
- gCurrOSWin = win; // will need to be in TLS. Set this so PostEvent will work
+ gCurrOSWin = win; // will need to be in TLS. Set this so PostEvent will work
- switch (wClass) {
+ switch (wClass) {
case kEventClassMouse: {
- Point pt;
- getparam(inEvent, kEventParamMouseLocation, typeQDPoint, sizeof(pt), &pt);
- SetPortWindowPort((WindowRef)win->getHWND());
- GlobalToLocal(&pt);
+ Point pt;
+ getparam(inEvent, kEventParamMouseLocation, typeQDPoint, sizeof(pt), &pt);
+ SetPortWindowPort((WindowRef)win->getHWND());
+ GlobalToLocal(&pt);
- switch (wKind) {
+ switch (wKind) {
case kEventMouseDown:
if (win->handleClick(pt.h, pt.v, Click::kDown_State)) {
result = noErr;
@@ -357,9 +357,9 @@ pascal OSStatus SkOSWindow::EventHandler( EventHandlerCallRef inHandler, EventRe
break;
default:
break;
- }
+ }
break;
- }
+ }
case kEventClassKeyboard:
if (wKind == kEventRawKeyDown) {
UInt32 raw;
@@ -412,8 +412,8 @@ pascal OSStatus SkOSWindow::EventHandler( EventHandlerCallRef inHandler, EventRe
post_skmacevent();
}
#if 0
- SkEvent* evt;
- SkEventSinkID sinkID;
+ SkEvent* evt;
+ SkEventSinkID sinkID;
getparam(inEvent, SK_MacEventParamName, SK_MacEventParamName, sizeof(evt), &evt);
getparam(inEvent, SK_MacEventSinkIDParamName, SK_MacEventSinkIDParamName, sizeof(sinkID), &sinkID);
#endif
@@ -422,47 +422,47 @@ pascal OSStatus SkOSWindow::EventHandler( EventHandlerCallRef inHandler, EventRe
}
default:
break;
- }
- if (result == eventNotHandledErr) {
- result = CallNextEventHandler(inHandler, inEvent);
}
- return result;
+ if (result == eventNotHandledErr) {
+ result = CallNextEventHandler(inHandler, inEvent);
+ }
+ return result;
}
///////////////////////////////////////////////////////////////////////////////////////
void SkEvent::SignalNonEmptyQueue()
{
- post_skmacevent();
-// SkDebugf("signal nonempty\n");
+ post_skmacevent();
+// SkDebugf("signal nonempty\n");
}
-static TMTask gTMTaskRec;
-static TMTask* gTMTaskPtr;
+static TMTask gTMTaskRec;
+static TMTask* gTMTaskPtr;
static void sk_timer_proc(TMTask* rec)
{
- SkEvent::ServiceQueueTimer();
-// SkDebugf("timer task fired\n");
+ SkEvent::ServiceQueueTimer();
+// SkDebugf("timer task fired\n");
}
void SkEvent::SignalQueueTimer(SkMSec delay)
{
- if (gTMTaskPtr)
- {
- RemoveTimeTask((QElem*)gTMTaskPtr);
- DisposeTimerUPP(gTMTaskPtr->tmAddr);
- gTMTaskPtr = nil;
- }
- if (delay)
- {
- gTMTaskPtr = &gTMTaskRec;
- memset(gTMTaskPtr, 0, sizeof(gTMTaskRec));
- gTMTaskPtr->tmAddr = NewTimerUPP(sk_timer_proc);
- OSErr err = InstallTimeTask((QElem*)gTMTaskPtr);
-// SkDebugf("installtimetask of %d returned %d\n", delay, err);
- PrimeTimeTask((QElem*)gTMTaskPtr, delay);
- }
+ if (gTMTaskPtr)
+ {
+ RemoveTimeTask((QElem*)gTMTaskPtr);
+ DisposeTimerUPP(gTMTaskPtr->tmAddr);
+ gTMTaskPtr = nil;
+ }
+ if (delay)
+ {
+ gTMTaskPtr = &gTMTaskRec;
+ memset(gTMTaskPtr, 0, sizeof(gTMTaskRec));
+ gTMTaskPtr->tmAddr = NewTimerUPP(sk_timer_proc);
+ OSErr err = InstallTimeTask((QElem*)gTMTaskPtr);
+// SkDebugf("installtimetask of %d returned %d\n", delay, err);
+ PrimeTimeTask((QElem*)gTMTaskPtr, delay);
+ }
}
#define USE_MSAA 0
diff --git a/src/views/sdl/SkOSWindow_SDL.cpp b/src/views/sdl/SkOSWindow_SDL.cpp
index c2ba8b4349..4edc5acfd3 100644
--- a/src/views/sdl/SkOSWindow_SDL.cpp
+++ b/src/views/sdl/SkOSWindow_SDL.cpp
@@ -24,7 +24,7 @@ static void post_SkEvent_event() {
static bool skia_setBitmapFromSurface(SkBitmap* dst, SDL_Surface* src) {
SkBitmap::Config config;
-
+
switch (src->format->BytesPerPixel) {
case 2:
config = SkBitmap::kRGB_565_Config;
@@ -35,7 +35,7 @@ static bool skia_setBitmapFromSurface(SkBitmap* dst, SDL_Surface* src) {
default:
return false;
}
-
+
dst->setConfig(config, src->w, src->h, src->pitch);
dst->setPixels(src->pixels);
return true;
@@ -44,7 +44,7 @@ static bool skia_setBitmapFromSurface(SkBitmap* dst, SDL_Surface* src) {
SkOSWindow::SkOSWindow(void* screen) {
fScreen = reinterpret_cast<SDL_Surface*>(screen);
this->resize(fScreen->w, fScreen->h);
-
+
uint32_t rmask = SK_R32_MASK << SK_R32_SHIFT;
uint32_t gmask = SK_G32_MASK << SK_G32_SHIFT;
uint32_t bmask = SK_B32_MASK << SK_B32_SHIFT;
@@ -141,7 +141,7 @@ static SkKey find_skkey(SDLKey src) {
SDLK_UNKNOWN, // power
SDLK_UNKNOWN, // camera
};
-
+
const SDLKey* array = gKeys;
for (size_t i = 0; i < SK_ARRAY_COUNT(gKeys); i++) {
if (array[i] == src) {
@@ -213,7 +213,7 @@ void SkEvent::SignalNonEmptyQueue() {
static Uint32 timer_callback(Uint32 interval) {
// SkDebugf("-------- timercallback %d\n", interval);
- SkEvent::ServiceQueueTimer();
+ SkEvent::ServiceQueueTimer();
return 0;
}
diff --git a/src/views/unix/SkOSWindow_Unix.cpp b/src/views/unix/SkOSWindow_Unix.cpp
index e761bdef74..46a2b3dd09 100644
--- a/src/views/unix/SkOSWindow_Unix.cpp
+++ b/src/views/unix/SkOSWindow_Unix.cpp
@@ -231,7 +231,7 @@ bool SkOSWindow::attach(SkBackEndTypes /* attachType */, int msaaSampleCount) {
this->initWindow(msaaSampleCount);
if (NULL == fUnixWindow.fDisplay) {
return false;
- }
+ }
if (NULL == fUnixWindow.fGLContext) {
SkASSERT(NULL != fVi);
diff --git a/src/views/unix/keysym2ucs.c b/src/views/unix/keysym2ucs.c
index 520c6a7614..a0c4ced9e0 100644
--- a/src/views/unix/keysym2ucs.c
+++ b/src/views/unix/keysym2ucs.c
@@ -828,19 +828,19 @@ long keysym2ucs(KeySym keysym)
/* also check for directly encoded 24-bit UCS characters */
if ((keysym & 0xff000000) == 0x01000000)
- return keysym & 0x00ffffff;
+ return keysym & 0x00ffffff;
/* binary search in table */
while (max >= min) {
- mid = (min + max) / 2;
- if (keysymtab[mid].keysym < keysym)
- min = mid + 1;
- else if (keysymtab[mid].keysym > keysym)
- max = mid - 1;
- else {
- /* found it */
- return keysymtab[mid].ucs;
- }
+ mid = (min + max) / 2;
+ if (keysymtab[mid].keysym < keysym)
+ min = mid + 1;
+ else if (keysymtab[mid].keysym > keysym)
+ max = mid - 1;
+ else {
+ /* found it */
+ return keysymtab[mid].ucs;
+ }
}
/* no matching Unicode value found */
diff --git a/src/views/win/SkOSWindow_win.cpp b/src/views/win/SkOSWindow_win.cpp
index 88a0a36a0f..038a2e85a1 100644
--- a/src/views/win/SkOSWindow_win.cpp
+++ b/src/views/win/SkOSWindow_win.cpp
@@ -115,7 +115,7 @@ bool SkOSWindow::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
} break;
case WM_UNICHAR:
this->handleChar(wParam);
- return true;
+ return true;
case WM_CHAR: {
this->handleChar(SkUTF8_ToUnichar((char*)&wParam));
return true;
@@ -138,11 +138,11 @@ bool SkOSWindow::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
delete rect;
return true;
} break;
-
- case WM_LBUTTONDOWN:
+
+ case WM_LBUTTONDOWN:
this->handleClick(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), Click::kDown_State);
return true;
-
+
case WM_MOUSEMOVE:
this->handleClick(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), Click::kMoved_State);
return true;
@@ -172,15 +172,15 @@ void SkOSWindow::doPaint(void* ctx) {
memset(&bmi, 0, sizeof(bmi));
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = bitmap.width();
- bmi.bmiHeader.biHeight = -bitmap.height(); // top-down image
+ bmi.bmiHeader.biHeight = -bitmap.height(); // top-down image
bmi.bmiHeader.biPlanes = 1;
bmi.bmiHeader.biBitCount = 32;
bmi.bmiHeader.biCompression = BI_RGB;
bmi.bmiHeader.biSizeImage = 0;
- //
- // Do the SetDIBitsToDevice.
- //
+ //
+ // Do the SetDIBitsToDevice.
+ //
// TODO(wjmaclean):
// Fix this call to handle SkBitmaps that have rowBytes != width,
// i.e. may have padding at the end of lines. The SkASSERT below
@@ -235,7 +235,7 @@ enum {
SK_MacRightKey = 124,
SK_MacDownKey = 125,
SK_MacUpKey = 126,
-
+
SK_Mac0Key = 0x52,
SK_Mac1Key = 0x53,
SK_Mac2Key = 0x54,
@@ -247,7 +247,7 @@ enum {
SK_Mac8Key = 0x5b,
SK_Mac9Key = 0x5c
};
-
+
static SkKey raw2key(uint32_t raw)
{
static const struct {
@@ -272,7 +272,7 @@ static SkKey raw2key(uint32_t raw)
{ SK_Mac8Key, k8_SkKey },
{ SK_Mac9Key, k9_SkKey }
};
-
+
for (unsigned i = 0; i < SK_ARRAY_COUNT(gKeys); i++)
if (gKeys[i].fRaw == raw)
return gKeys[i].fKey;
@@ -303,7 +303,7 @@ void SkEvent::SignalQueueTimer(SkMSec delay)
gTimer = NULL;
}
if (delay)
- {
+ {
gTimer = SetTimer(NULL, 0, delay, sk_timer_proc);
//SkDebugf("SetTimer of %d returned %d\n", delay, gTimer);
}
@@ -382,7 +382,7 @@ HGLRC create_gl(HWND hwnd, int msaaSampleCount) {
BOOL set = SetPixelFormat(dc, format, &pfd);
SkASSERT(TRUE == set);
}
-
+
HGLRC glrc = wglCreateContext(dc);
SkASSERT(glrc);
@@ -428,7 +428,7 @@ bool create_ANGLE(EGLNativeWindowType hWnd,
EGLSurface* eglSurface) {
static const EGLint contextAttribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 2,
- EGL_NONE, EGL_NONE
+ EGL_NONE, EGL_NONE
};
static const EGLint configAttribList[] = {
EGL_RED_SIZE, 8,
@@ -482,33 +482,33 @@ bool create_ANGLE(EGLNativeWindowType hWnd,
}
}
if (!foundConfig) {
- if (!eglChooseConfig(display, configAttribList,
+ if (!eglChooseConfig(display, configAttribList,
&config, 1, &numConfigs)) {
return false;
}
}
// Create a surface
- EGLSurface surface = eglCreateWindowSurface(display, config,
- (EGLNativeWindowType)hWnd,
+ EGLSurface surface = eglCreateWindowSurface(display, config,
+ (EGLNativeWindowType)hWnd,
surfaceAttribList);
if (surface == EGL_NO_SURFACE) {
return false;
}
// Create a GL context
- EGLContext context = eglCreateContext(display, config,
+ EGLContext context = eglCreateContext(display, config,
EGL_NO_CONTEXT,
contextAttribs );
if (context == EGL_NO_CONTEXT ) {
return false;
- }
-
+ }
+
// Make the context current
if (!eglMakeCurrent(display, surface, surface, context)) {
return false;
}
-
+
*eglDisplay = display;
*eglContext = context;
*eglSurface = surface;
@@ -583,7 +583,7 @@ bool SkOSWindow::attach(SkBackEndTypes attachType, int msaaSampleCount) {
switch (attachType) {
case kNone_BackEndType:
// nothing to do
- break;
+ break;
#if SK_SUPPORT_GPU
case kNativeGL_BackEndType:
result = attachGL(msaaSampleCount);
@@ -611,7 +611,7 @@ void SkOSWindow::detach() {
switch (fAttached) {
case kNone_BackEndType:
// nothing to do
- break;
+ break;
#if SK_SUPPORT_GPU
case kNativeGL_BackEndType:
detachGL();
@@ -633,7 +633,7 @@ void SkOSWindow::present() {
switch (fAttached) {
case kNone_BackEndType:
// nothing to do
- return;
+ return;
#if SK_SUPPORT_GPU
case kNativeGL_BackEndType:
presentGL();