Changeset 426

Show
Ignore:
Timestamp:
07/31/08 19:50:36 (4 months ago)
Author:
odole
Message:

BAL:

2008-07-31 Joerg Strohmayer <j_s@gmx.de>

Reviewed by Olivier DOLE.
Add AmigaOS4 fonts implementation.

  • Base/AmigaOS4/BALTypeAmigaOS4.h:
  • OWBAL/Concretizations/Memory/WK/BCTCSystemAllocWK.cpp:
  • OWBAL/Concretizations/Types/WK/BCTCSpinLockWK.h:
    (TCMalloc_SlowLock):
  • OWBAL/Concretizations/Types/WK/BCTCSystemAllocWK.cpp:
  • WKAL/Concretizations/Events/AmigaOS4/BCPlatformKeyboardEventAmigaOS4.cpp:
    (WKAL::local2unicode):
  • WKAL/Concretizations/Fonts/AmigaOS4: Added.
  • WKAL/Concretizations/Fonts/AmigaOS4/BCFontAmigaOS4.cpp: Added.
    (WKAL::Font::drawComplexText):
    (WKAL::Font::floatWidthForComplexText):
    (WKAL::Font::offsetForPositionForComplexText):
    (WKAL::Font::selectionRectForComplexText):
    (WKAL::Font::drawGlyphs):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCFontCacheAmigaOS4.cpp: Added.
    (WKAL::FontCache::platformInit):
    (WKAL::FontCache::getFontDataForCharacters):
    (WKAL::FontCache::getSimilarFontPlatformData):
    (WKAL::FontCache::getLastResortFallbackFont):
    (WKAL::FontCache::getTraitsInFamily):
    (WKAL::FontCache::createFontPlatformData):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCFontCustomPlatformDataAmigaOS4.cpp: Added.
    (WKAL::FontCustomPlatformData::~FontCustomPlatformData):
    (WKAL::FontCustomPlatformData::fontPlatformData):
    (WKAL::createFontCustomPlatformData):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCFontCustomPlatformDataAmigaOS4.h: Added.
    (WKAL::FontCustomPlatformData::FontCustomPlatformData):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCFontPlatformDataAmigaOS4.cpp: Added.
    (WKAL::):
    (WKAL::get_font_name):
    (WKAL::get_font_name_fallback):
    (WKAL::FontPlatformData::FontPlatformData):
    (WKAL::FontPlatformData::init):
    (WKAL::FontPlatformData::~FontPlatformData):
    (WKAL::FontPlatformData::isFixedPitch):
    (WKAL::FontPlatformData::setFont):
    (WKAL::FontPlatformData::operator==):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCFontPlatformDataAmigaOS4.h: Added.
    (WKAL::FontPlatformData::size):
    (WKAL::FontPlatformData::hash):
    (WKAL::FontPlatformData::isHashTableDeletedValue):
    (WKAL::FontPlatformData::hashTableDeletedFontValue):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCGlyphBufferAmigaOS4.h: Added.
    (WKAL::GlyphBuffer::isEmpty):
    (WKAL::GlyphBuffer::size):
    (WKAL::GlyphBuffer::clear):
    (WKAL::GlyphBuffer::glyphs):
    (WKAL::GlyphBuffer::advances):
    (WKAL::GlyphBuffer::fontDataAt):
    (WKAL::GlyphBuffer::swap):
    (WKAL::GlyphBuffer::glyphAt):
    (WKAL::GlyphBuffer::advanceAt):
    (WKAL::GlyphBuffer::offsetAt):
    (WKAL::GlyphBuffer::add):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCGlyphPageTreeNodeAmigaOS4.cpp: Added.
    (WKAL::GlyphPage::fill):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCSimpleFontDataAmigaOS4.cpp: Added.
    (WKAL::SimpleFontData::platformInit):
    (WKAL::SimpleFontData::platformDestroy):
    (WKAL::SimpleFontData::smallCapsFontData):
    (WKAL::SimpleFontData::containsCharacters):
    (WKAL::SimpleFontData::determinePitch):
    (WKAL::SimpleFontData::platformWidthForGlyph):
    (WKAL::SimpleFontData::setFont):
  • WKAL/Concretizations/Fonts/AmigaOS4/BCSimpleFontDataAmigaOS4.h: Added.
    (WKAL::):
    (WKAL::SimpleFontData::platformData):
    (WKAL::SimpleFontData::ascent):
    (WKAL::SimpleFontData::descent):
    (WKAL::SimpleFontData::lineSpacing):
    (WKAL::SimpleFontData::lineGap):
    (WKAL::SimpleFontData::xHeight):
    (WKAL::SimpleFontData::unitsPerEm):
    (WKAL::SimpleFontData::pitch):
    (WKAL::SimpleFontData::svgFontData):
    (WKAL::SimpleFontData::isSVGFont):
    (WKAL::SimpleFontData::isCustomFont):
    (WKAL::SimpleFontData::isLoading):
    (WKAL::SimpleFontData::missingGlyphData):

WebKit:

2008-07-31 Joerg Strohmayer <j_s@gmx.de>

Reviewed by Olivier DOLE.
Add Zoom In / Zoom Out to F3/F4 on AmigaOS4 implementation.
Add check for AmigaOS version 4.1 for the user-agent string.

  • OrigynWebBrowser/Api/AmigaOS4/WebViewPrivate.cpp:
    (WebViewPrivate::onKeyDown):
  • OrigynWebBrowser/Api/WebView.cpp:
    (WebView::userAgentForKURL):
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/BAL/Base/AmigaOS4/BALTypeAmigaOS4.h

    r379 r426  
    3737struct SDL_Cursor; 
    3838struct SDL_Rect; 
    39 struct FT_FaceRec_; 
    40 struct _FcPattern; 
    4139struct Window; 
    4240struct Gadget; 
     
    7068typedef struct IntuiMessage BalEventMotion; 
    7169typedef struct IntuiMessage BalEventScroll; 
    72 typedef FT_FaceRec_ BalFontFace; 
     70typedef struct OutlineFont BalFontFace; 
    7371typedef void BalFont; 
    74 typedef struct _FcPattern BalPattern; 
    7572typedef void BalScaledFont; 
    7673typedef void BalDrawable; 
     
    9188 
    9289typedef SDL_Surface PlatformGraphicsContext; 
     90typedef BalWidget* PlatformWidget; 
    9391 
    9492namespace WKAL { 
  • trunk/BAL/ChangeLogOWB

    r416 r426  
     12008-07-31  Joerg Strohmayer  <j_s@gmx.de> 
     2 
     3        Reviewed by Olivier DOLE. 
     4        Add AmigaOS4 fonts implementation. 
     5 
     6        * Base/AmigaOS4/BALTypeAmigaOS4.h: 
     7        * OWBAL/Concretizations/Memory/WK/BCTCSystemAllocWK.cpp: 
     8        * OWBAL/Concretizations/Types/WK/BCTCSpinLockWK.h: 
     9        (TCMalloc_SlowLock): 
     10        * OWBAL/Concretizations/Types/WK/BCTCSystemAllocWK.cpp: 
     11        * WKAL/Concretizations/Events/AmigaOS4/BCPlatformKeyboardEventAmigaOS4.cpp: 
     12        (WKAL::local2unicode): 
     13        * WKAL/Concretizations/Fonts/AmigaOS4: Added. 
     14        * WKAL/Concretizations/Fonts/AmigaOS4/BCFontAmigaOS4.cpp: Added. 
     15        (WKAL::Font::drawComplexText): 
     16        (WKAL::Font::floatWidthForComplexText): 
     17        (WKAL::Font::offsetForPositionForComplexText): 
     18        (WKAL::Font::selectionRectForComplexText): 
     19        (WKAL::Font::drawGlyphs): 
     20        * WKAL/Concretizations/Fonts/AmigaOS4/BCFontCacheAmigaOS4.cpp: Added. 
     21        (WKAL::FontCache::platformInit): 
     22        (WKAL::FontCache::getFontDataForCharacters): 
     23        (WKAL::FontCache::getSimilarFontPlatformData): 
     24        (WKAL::FontCache::getLastResortFallbackFont): 
     25        (WKAL::FontCache::getTraitsInFamily): 
     26        (WKAL::FontCache::createFontPlatformData): 
     27        * WKAL/Concretizations/Fonts/AmigaOS4/BCFontCustomPlatformDataAmigaOS4.cpp: Added. 
     28        (WKAL::FontCustomPlatformData::~FontCustomPlatformData): 
     29        (WKAL::FontCustomPlatformData::fontPlatformData): 
     30        (WKAL::createFontCustomPlatformData): 
     31        * WKAL/Concretizations/Fonts/AmigaOS4/BCFontCustomPlatformDataAmigaOS4.h: Added. 
     32        (WKAL::FontCustomPlatformData::FontCustomPlatformData): 
     33        * WKAL/Concretizations/Fonts/AmigaOS4/BCFontPlatformDataAmigaOS4.cpp: Added. 
     34        (WKAL::): 
     35        (WKAL::get_font_name): 
     36        (WKAL::get_font_name_fallback): 
     37        (WKAL::FontPlatformData::FontPlatformData): 
     38        (WKAL::FontPlatformData::init): 
     39        (WKAL::FontPlatformData::~FontPlatformData): 
     40        (WKAL::FontPlatformData::isFixedPitch): 
     41        (WKAL::FontPlatformData::setFont): 
     42        (WKAL::FontPlatformData::operator==): 
     43        * WKAL/Concretizations/Fonts/AmigaOS4/BCFontPlatformDataAmigaOS4.h: Added. 
     44        (WKAL::FontPlatformData::size): 
     45        (WKAL::FontPlatformData::hash): 
     46        (WKAL::FontPlatformData::isHashTableDeletedValue): 
     47        (WKAL::FontPlatformData::hashTableDeletedFontValue): 
     48        * WKAL/Concretizations/Fonts/AmigaOS4/BCGlyphBufferAmigaOS4.h: Added. 
     49        (WKAL::GlyphBuffer::isEmpty): 
     50        (WKAL::GlyphBuffer::size): 
     51        (WKAL::GlyphBuffer::clear): 
     52        (WKAL::GlyphBuffer::glyphs): 
     53        (WKAL::GlyphBuffer::advances): 
     54        (WKAL::GlyphBuffer::fontDataAt): 
     55        (WKAL::GlyphBuffer::swap): 
     56        (WKAL::GlyphBuffer::glyphAt): 
     57        (WKAL::GlyphBuffer::advanceAt): 
     58        (WKAL::GlyphBuffer::offsetAt): 
     59        (WKAL::GlyphBuffer::add): 
     60        * WKAL/Concretizations/Fonts/AmigaOS4/BCGlyphPageTreeNodeAmigaOS4.cpp: Added. 
     61        (WKAL::GlyphPage::fill): 
     62        * WKAL/Concretizations/Fonts/AmigaOS4/BCSimpleFontDataAmigaOS4.cpp: Added. 
     63        (WKAL::SimpleFontData::platformInit): 
     64        (WKAL::SimpleFontData::platformDestroy): 
     65        (WKAL::SimpleFontData::smallCapsFontData): 
     66        (WKAL::SimpleFontData::containsCharacters): 
     67        (WKAL::SimpleFontData::determinePitch): 
     68        (WKAL::SimpleFontData::platformWidthForGlyph): 
     69        (WKAL::SimpleFontData::setFont): 
     70        * WKAL/Concretizations/Fonts/AmigaOS4/BCSimpleFontDataAmigaOS4.h: Added. 
     71        (WKAL::): 
     72        (WKAL::SimpleFontData::platformData): 
     73        (WKAL::SimpleFontData::ascent): 
     74        (WKAL::SimpleFontData::descent): 
     75        (WKAL::SimpleFontData::lineSpacing): 
     76        (WKAL::SimpleFontData::lineGap): 
     77        (WKAL::SimpleFontData::xHeight): 
     78        (WKAL::SimpleFontData::unitsPerEm): 
     79        (WKAL::SimpleFontData::pitch): 
     80        (WKAL::SimpleFontData::svgFontData): 
     81        (WKAL::SimpleFontData::isSVGFont): 
     82        (WKAL::SimpleFontData::isCustomFont): 
     83        (WKAL::SimpleFontData::isLoading): 
     84        (WKAL::SimpleFontData::missingGlyphData): 
     85 
    1862008-07-24  Jean-Charles Verdié  <jcverdie@pleyo.com> 
    287 
  • trunk/BAL/OWBAL/Concretizations/Memory/WK/BCTCSystemAllocWK.cpp

    r398 r426  
    4444#include <errno.h> 
    4545#include <unistd.h> 
     46#if !PLATFORM(AMIGAOS4) 
    4647#include <sys/mman.h> 
     48#endif 
    4749#endif 
    4850#include <fcntl.h> 
  • trunk/BAL/OWBAL/Concretizations/Types/WK/BCTCSpinLockWK.h

    r381 r426  
    3838#include <time.h>       /* For nanosleep() */ 
    3939 
     40#if PLATFORM(AMIGAOS4) 
     41#include <unistd.h> 
     42#else 
    4043#include <sched.h>      /* For sched_yield() */ 
     44#endif 
    4145 
    4246#if HAVE(STDINT_H) 
     
    136140 
    137141static void TCMalloc_SlowLock(volatile unsigned int* lockword) { 
     142#if !PLATFORM(AMIGAOS4) 
    138143  sched_yield();        // Yield immediately since fast path failed 
     144#endif 
    139145  while (true) { 
    140146    int r; 
     
    182188#if PLATFORM(WIN_OS) 
    183189    Sleep(2); 
     190#elif PLATFORM(AMIGAOS4) 
     191    usleep(200); 
    184192#else 
    185193    struct timespec tm; 
  • trunk/BAL/OWBAL/Concretizations/Types/WK/BCTCSystemAllocWK.cpp

    r381 r426  
    4444#include <errno.h> 
    4545#include <unistd.h> 
     46#if !PLATFORM(AMIGAOS4) 
    4647#include <sys/mman.h> 
     48#endif 
    4749#endif 
    4850#include <fcntl.h> 
  • trunk/BAL/WKAL/Concretizations/Events/AmigaOS4/BCPlatformKeyboardEventAmigaOS4.cpp

    r379 r426  
    5757static uint32 local2unicode(uint32 c) 
    5858{ 
    59     if (13 == c) // return 
    60         return 10; // line feed 
    61  
    6259    if (unicode_map && c <= 255 && unicode_map[c] <= 65535) 
    6360        return unicode_map[c]; 
  • trunk/WebKit/ChangeLogOWB

    r425 r426  
     12008-07-31  Joerg Strohmayer  <j_s@gmx.de> 
     2 
     3        Reviewed by Olivier DOLE. 
     4        Add Zoom In / Zoom Out to F3/F4 on AmigaOS4 implementation. 
     5        Add check for AmigaOS version 4.1 for the user-agent string. 
     6 
     7        * OrigynWebBrowser/Api/AmigaOS4/WebViewPrivate.cpp: 
     8        (WebViewPrivate::onKeyDown): 
     9        * OrigynWebBrowser/Api/WebView.cpp: 
     10        (WebView::userAgentForKURL): 
     11 
    1122008-07-31  Mario Bensi  <mbensi@pleyo.com> 
    213 
  • trunk/WebKit/OrigynWebBrowser/Api/AmigaOS4/WebViewPrivate.cpp

    r379 r426  
    136136            view->update(); 
    137137            return; 
     138        case RAWKEY_F3: 
     139            if (m_webView->canZoomPageIn()) 
     140                m_webView->zoomPageIn(); 
     141            return; 
     142        case RAWKEY_F4: 
     143            if (m_webView->canZoomPageOut()) 
     144                m_webView->zoomPageOut(); 
     145            return; 
    138146        } 
    139147    } 
  • trunk/WebKit/OrigynWebBrowser/Api/WebView.cpp

    r418 r426  
    109109#include <sys/sysctl.h> 
    110110#elif PLATFORM(AMIGAOS4) 
     111#include <proto/exec.h> 
    111112#include <intuition/intuition.h> 
    112113#else 
     
    902903#elif PLATFORM(AMIGAOS4) 
    903904//        m_userAgentStandard =  "Mozilla/5.0 (AMIGA; U; AmigaOS4 ppc; en-US) AppleWebKit/420+ (KHTML, like Gecko) Safari/412 OWB/Doduo"; 
    904         m_userAgentStandard = "Mozilla/5.0 (compatible; Origyn Web Browser; AmigaOS 4.0; PPC; U) AppleWebKit/525.1+ (KHTML, like Gecko, Safari/525.1+)"; 
     905        if (IExec->Data.LibBase->lib_Version < 53) 
     906            m_userAgentStandard = "Mozilla/5.0 (compatible; Origyn Web Browser; AmigaOS 4.0; PPC; U) AppleWebKit/525.1+ (KHTML, like Gecko, Safari/525.1+)"; 
     907        else 
     908            m_userAgentStandard = "Mozilla/5.0 (compatible; Origyn Web Browser; AmigaOS 4.1; PPC; U) AppleWebKit/525.1+ (KHTML, like Gecko, Safari/525.1+)"; 
    905909#else 
    906910        //NOTE: some pages don't render with this UA