patch SkMath.h to build in ARMv4

test code for mac fonts (disabled)



git-svn-id: http://skia.googlecode.com/svn/trunk@110 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
reed@android.com 2009-03-05 14:14:49 +00:00
Родитель b1d9d2ef28
Коммит 54043a394e
2 изменённых файлов: 54 добавлений и 1 удалений

Просмотреть файл

@ -162,7 +162,7 @@ static inline int SkNextLog2(uint32_t value) {
With this requirement, we can generate faster instructions on some
architectures.
*/
#if defined(__arm__) && !defined(__thumb__)
#if defined(__arm__) && !defined(__thumb__) && !defined(__ARM_ARCH_4__)
static inline int32_t SkMulS16(S16CPU x, S16CPU y) {
SkASSERT((int16_t)x == x);
SkASSERT((int16_t)y == y);

Просмотреть файл

@ -15,6 +15,57 @@
#include "SkTime.h"
#include "SkTypeface.h"
#if 0
static void CFString2SkString(CFStringRef ref, SkString* str) {
str->reset();
int count = CFStringGetLength(ref);
for (int i = 0; i < count; i++) {
SkString tmp;
UniChar c = CFStringGetCharacterAtIndex(ref, i);
tmp.setUTF16(&c, 1);
str->append(tmp);
}
}
static size_t get_table_size(ATSFontRef font, uint32_t tableTag) {
ByteCount size;
OSStatus status = ATSFontGetTable(font, tableTag, 0, 0, NULL, &size);
if (status) {
SkDebugf("*** ATSFontGetTable returned %d\n", status);
size = -1;
}
return size;
}
static void test_ats() {
OSStatus status;
ATSFontIterator iter;
status = ATSFontIteratorCreate(kATSFontContextLocal, NULL, NULL,
kATSOptionFlagsUnRestrictedScope, &iter);
for (int index = 0;; index++) {
ATSFontRef fontRef;
status = ATSFontIteratorNext(iter, &fontRef);
if (status) {
break;
}
CFStringRef name;
SkString str;
ATSFontGetName(fontRef, kATSOptionFlagsDefault, &name);
CFString2SkString(name, &str);
if (str.size() > 0 && str.c_str()[0] != '.') {
SkDebugf("[%3d] font %x cmap %d 'name' %d <%s>\n", index, fontRef,
get_table_size(fontRef, 'cmap'),
get_table_size(fontRef, 'name'),
str.c_str());
}
CFRelease(name);
}
ATSFontIteratorRelease(&iter);
}
#endif
class PathClipView : public SkView {
public:
SkRect fOval;
@ -23,6 +74,8 @@ public:
PathClipView() {
fOval.set(0, 0, SkIntToScalar(200), SkIntToScalar(50));
fCenter.set(SkIntToScalar(250), SkIntToScalar(250));
// test_ats();
}
virtual ~PathClipView() {}