Show
Ignore:
Timestamp:
04/20/09 05:16:23 (5 years ago)
Author:
saturday06
Message:

vista に まけない

Location:
lang/objective-cplusplus/i3/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/objective-cplusplus/i3/trunk/configure.ac

    r32358 r32633  
    7171    ;; 
    7272    gnustep) 
    73         AC_CHECK_PROG(GNUSTEP_CONFIG, gnustep-config) 
    74         if test "$GNUSTEP_CONFIG" = ":"; then 
     73        #AC_CHECK_PROG(GNUSTEP_CONFIG, gnustep-config) 
     74        which gnustep-config > /dev/null 
     75        if test $? -eq 0; then 
     76            GNUSTEP_CONFIG="gnustep-config" 
    7577            if test "$enable_debug" = "yes"; then 
    7678                debug_arg="--debug" 
    7779            fi 
    7880 
    79             AC_CHECK_PROG(PERL, perl) 
    80             if test "$PERL" != ":"; then 
    81                 GNUSTEP_CONFIG="$PERL $srcdir/scripts/gnustep-config-filter.pl $debug_arg $GNUSTEP_CONFIG" 
     81            #AC_CHECK_PROG(GNUSTEP_CONFIG, perl) 
     82            which perl > /dev/null 
     83            if test $? -eq 0; then 
     84                GNUSTEP_CONFIG="perl $srcdir/scripts/gnustep-config-filter.pl $debug_arg $GNUSTEP_CONFIG" 
     85            else 
     86                AC_MSG_WARN([perl not found]) 
    8287            fi 
    8388 
    8489            CXXFLAGS="$CXXFLAGS `$GNUSTEP_CONFIG --objc-flags`" 
    8590            LIBS="$LIBS `$GNUSTEP_CONFIG --gui-libs`" 
     91 
    8692        else 
    8793            AC_MSG_WARN([gnustep-config not found]) 
  • lang/objective-cplusplus/i3/trunk/src/gui-windows/InputWindowPlatform.cpp

    r32626 r32633  
    451451            if (SUCCEEDED(hr)) 
    452452            { 
    453                 //hr = dll.dll_DwmGetColorizationColor(&color, &blend); 
     453                hr = dll.dll_DwmGetColorizationColor(&color, &blend); 
    454454                if (SUCCEEDED(hr)) 
    455455                { 
     
    460460 
    461461                    //a = 255 - ((255 - a) * 0.3); 
    462                     a = a * 0.5; 
    463                     r = 255 - ((255 - r) * 0.5); 
    464                     g = 255 - ((255 - g) * 0.5); 
    465                     b = 255 - ((255 - b) * 0.5); 
     462                    a = 0x80; 
     463                    r = 255; 
     464                    g = 255; 
     465                    b = 0; 
     466                    //r = 255 - ((255 - r) * 0.5); 
     467                    //g = 255 - ((255 - g) * 0.5); 
     468                    //b = 255 - ((255 - b) * 0.5); 
    466469 
    467470                    DWORD color2 = (a << 24) | (b << 16) | (g << 8) | r ; 
  • lang/objective-cplusplus/i3/trunk/src/mil/include/mil/gui-cocoa/GuiModule.h

    r32290 r32633  
    1414{ 
    1515public: 
    16     pool::Producer producer; 
    17     pool::Consumer consumer; 
     16    Tls tls; 
    1817private: 
    1918    class EventBase : public boost::intrusive::slist_base_hook<>, public boost::noncopyable 
     
    7170 
    7271public: 
    73     GuiModule() : repost(false), isWaiting(false), window(NULL) 
     72    GuiModule() : repost(false), isWaiting(false), window(NULL), tls(this->thread_id) 
    7473    { 
    7574    } 
     
    8685    } 
    8786 
    88     template <typename Data, typename Target> 
     87 
     88    template <typename Data, typename Sender> 
    8989    static void dispatcher(void* event_, void* target_) 
    9090    { 
     91        typedef Child  Target; 
     92 
    9193        if (!event_ || !target_) 
    9294        { 
     
    100102        target.repost = false; 
    101103        ModuleExecuteProxy<Data, Target>::execute(event.data, target); 
    102         if (target.repost) 
    103         { 
     104        if (target.repost) { 
    104105            target.list.push(event); 
    105106            return; 
    106107        } 
    107         pool::MemoryList* m = target.consumer.work(&event); 
     108        if (event.owner_id == target.thread_id) { 
     109            mil::pool::ReturnMemoryProxy<Data>::free(&event, target.tls.producer, mil::pool::Blocks<Event<Data> >::value); 
     110            return; 
     111        } 
     112        void* mem = NULL; 
     113        pool::MemoryList* m = NULL; 
     114        boost::tie(mem, m) = target.tls.consumer.work(&event); 
    108115        if (!m) { 
    109116            return; 
    110117        } 
    111         pool::ReturnMemoryEvent e; 
     118        pool::ReturnMemoryEvent<pool::Blocks<Event<Data> >::value> e; 
    112119        e.memory = m; 
    113120        void* t = threads[event.owner_id].load(); 
     
    115122            return; 
    116123        } 
    117         (reinterpret_cast<GuiModule<Child> * >(t))->post(e, target.producer); 
     124        (reinterpret_cast<Sender*>(t))->post(e, target, mem, event.owner_id); 
    118125    } 
    119126public: 
    120     template <typename T> 
    121     void post(const T& event, mil::pool::Producer& sender_producer) 
     127    template <typename T, typename Sender> 
     128    void post(const T& event, Sender& sender, void* memory = NULL, intptr_t owner_id = 0) 
    122129    { 
    123         void* p = sender_producer.malloc<sizeof(Event<T>)>(); 
     130        void* p = NULL; 
     131        if (memory) { 
     132            p = memory; 
     133        } else { 
     134            mil::pool::Producer& producer = sender.tls.producer; 
     135            p = producer.malloc<sizeof(Event<T>)>(); 
     136        } 
     137 
    124138        if (p == NULL) 
    125139        { 
     
    130144        Event<T>* e = new(p) Event<T>; 
    131145        e->data = event; 
    132         e->execute = dispatcher<T, Child>; 
    133         e->owner_id = this->thread_id; 
     146        e->execute = dispatcher<T, Sender>; 
     147        if (memory) { 
     148            e->owner_id = owner_id; 
     149        } else { 
     150            e->owner_id = sender.tls.thread_id; 
     151        } 
    134152 
    135153        list.push(*e); 
    136  
    137         if (!isWaiting.load()) { 
    138             return; 
     154        if (isWaiting.load()) { 
     155            c.signal(); 
    139156        } 
    140         c.signal(); 
    141157    } 
    142158public: