Changeset 192 for trunk/src


Ignore:
Timestamp:
Jun 25, 1999, 5:58:35 PM (26 years ago)
Author:
sandervl
Message:

GetSysColorPen bugfix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/syscolor.cpp

    r44 r192  
    1 /* $Id: syscolor.cpp,v 1.2 1999-06-07 15:37:34 achimha Exp $ */
     1/* $Id: syscolor.cpp,v 1.3 1999-06-25 15:58:35 sandervl Exp $ */
    22
    33/*
     
    55 *
    66 * Copyright 1998 Sander van Leeuwen (ported from Wine)
     7 * Copyright 1999 Christoph Bratschi
    78 *
    89 * WINE:
     
    7879    {
    7980    case COLOR_SCROLLBAR:
    80         DeleteObject( sysColorObjects.hbrushScrollbar );
    81         sysColorObjects.hbrushScrollbar = CreateSolidBrush( color );
    82         break;
     81        DeleteObject( sysColorObjects.hbrushScrollbar );
     82        sysColorObjects.hbrushScrollbar = CreateSolidBrush( color );
     83        break;
    8384    case COLOR_BACKGROUND:
    84         DeleteObject( sysColorObjects.hbrushBackground );
    85         sysColorObjects.hbrushBackground = CreateSolidBrush( color );
    86         break;
     85        DeleteObject( sysColorObjects.hbrushBackground );
     86        sysColorObjects.hbrushBackground = CreateSolidBrush( color );
     87        break;
    8788    case COLOR_ACTIVECAPTION:
    88         DeleteObject( sysColorObjects.hbrushActiveCaption );
    89         sysColorObjects.hbrushActiveCaption = CreateSolidBrush( color );
    90         break;
     89        DeleteObject( sysColorObjects.hbrushActiveCaption );
     90        sysColorObjects.hbrushActiveCaption = CreateSolidBrush( color );
     91        break;
    9192    case COLOR_INACTIVECAPTION:
    92         DeleteObject( sysColorObjects.hbrushInactiveCaption );
    93         sysColorObjects.hbrushInactiveCaption = CreateSolidBrush( color );
    94         break;
     93        DeleteObject( sysColorObjects.hbrushInactiveCaption );
     94        sysColorObjects.hbrushInactiveCaption = CreateSolidBrush( color );
     95        break;
    9596    case COLOR_MENU:
    96         DeleteObject( sysColorObjects.hbrushMenu );
    97 //      sysColorObjects.hbrushMenu = CreateSolidBrush( MAKE_SOLID(color) );
    98         sysColorObjects.hbrushMenu = CreateSolidBrush( color );
    99         break;
     97        DeleteObject( sysColorObjects.hbrushMenu );
     98//      sysColorObjects.hbrushMenu = CreateSolidBrush( MAKE_SOLID(color) );
     99        sysColorObjects.hbrushMenu = CreateSolidBrush( color );
     100        break;
    100101    case COLOR_WINDOW:
    101         DeleteObject( sysColorObjects.hbrushWindow );
    102         sysColorObjects.hbrushWindow = CreateSolidBrush( color );
    103         break;
     102        DeleteObject( sysColorObjects.hbrushWindow );
     103        sysColorObjects.hbrushWindow = CreateSolidBrush( color );
     104        break;
    104105    case COLOR_WINDOWFRAME:
    105         DeleteObject( sysColorObjects.hbrushWindowFrame );
    106         sysColorObjects.hbrushWindowFrame = CreateSolidBrush( color );
    107         /* FIXME: we should not need this pen */
    108         DeleteObject( sysColorObjects.hpenWindowFrame );
    109         sysColorObjects.hpenWindowFrame = CreatePen( PS_SOLID, 1, color );
    110         break;
     106        DeleteObject( sysColorObjects.hbrushWindowFrame );
     107        sysColorObjects.hbrushWindowFrame = CreateSolidBrush( color );
     108        /* FIXME: we should not need this pen */
     109        DeleteObject( sysColorObjects.hpenWindowFrame );
     110        sysColorObjects.hpenWindowFrame = CreatePen( PS_SOLID, 1, color );
     111        break;
    111112    case COLOR_MENUTEXT:
    112         DeleteObject( sysColorObjects.hbrushMenuText );
    113         sysColorObjects.hbrushMenuText = CreateSolidBrush( color );
    114         break;
     113        DeleteObject( sysColorObjects.hbrushMenuText );
     114        sysColorObjects.hbrushMenuText = CreateSolidBrush( color );
     115        break;
    115116    case COLOR_WINDOWTEXT:
    116         DeleteObject( sysColorObjects.hbrushWindowText );
    117         sysColorObjects.hbrushWindowText = CreateSolidBrush( color );
    118         /* FIXME: we should not need this pen */
    119         DeleteObject( sysColorObjects.hpenWindowText );
    120         sysColorObjects.hpenWindowText = CreatePen( PS_DOT, 1, color );
    121         break;
     117        DeleteObject( sysColorObjects.hbrushWindowText );
     118        sysColorObjects.hbrushWindowText = CreateSolidBrush( color );
     119        /* FIXME: we should not need this pen */
     120        DeleteObject( sysColorObjects.hpenWindowText );
     121        sysColorObjects.hpenWindowText = CreatePen( PS_DOT, 1, color );
     122        break;
    122123    case COLOR_CAPTIONTEXT:
    123         DeleteObject( sysColorObjects.hbrushCaptionText );
    124         sysColorObjects.hbrushCaptionText = CreateSolidBrush( color );
    125         break;
     124        DeleteObject( sysColorObjects.hbrushCaptionText );
     125        sysColorObjects.hbrushCaptionText = CreateSolidBrush( color );
     126        break;
    126127    case COLOR_ACTIVEBORDER:
    127         DeleteObject( sysColorObjects.hbrushActiveBorder );
    128         sysColorObjects.hbrushActiveBorder = CreateSolidBrush( color );
    129         break;
     128        DeleteObject( sysColorObjects.hbrushActiveBorder );
     129        sysColorObjects.hbrushActiveBorder = CreateSolidBrush( color );
     130        break;
    130131    case COLOR_INACTIVEBORDER:
    131         DeleteObject( sysColorObjects.hbrushInactiveBorder );
    132         sysColorObjects.hbrushInactiveBorder = CreateSolidBrush( color );
    133         break;
     132        DeleteObject( sysColorObjects.hbrushInactiveBorder );
     133        sysColorObjects.hbrushInactiveBorder = CreateSolidBrush( color );
     134        break;
    134135    case COLOR_APPWORKSPACE:
    135         DeleteObject( sysColorObjects.hbrushAppWorkspace );
    136         sysColorObjects.hbrushAppWorkspace = CreateSolidBrush( color );
    137         break;
     136        DeleteObject( sysColorObjects.hbrushAppWorkspace );
     137        sysColorObjects.hbrushAppWorkspace = CreateSolidBrush( color );
     138        break;
    138139    case COLOR_HIGHLIGHT:
    139         DeleteObject( sysColorObjects.hbrushHighlight );
    140         sysColorObjects.hbrushHighlight = CreateSolidBrush( color );
    141         break;
     140        DeleteObject( sysColorObjects.hbrushHighlight );
     141        sysColorObjects.hbrushHighlight = CreateSolidBrush( color );
     142        break;
    142143    case COLOR_HIGHLIGHTTEXT:
    143         DeleteObject( sysColorObjects.hbrushHighlightText );
    144         sysColorObjects.hbrushHighlightText = CreateSolidBrush( color );
    145         break;
     144        DeleteObject( sysColorObjects.hbrushHighlightText );
     145        sysColorObjects.hbrushHighlightText = CreateSolidBrush( color );
     146        break;
    146147    case COLOR_BTNFACE:
    147         DeleteObject( sysColorObjects.hbrushBtnFace );
    148         sysColorObjects.hbrushBtnFace = CreateSolidBrush( color );
    149         break;
     148        DeleteObject( sysColorObjects.hbrushBtnFace );
     149        sysColorObjects.hbrushBtnFace = CreateSolidBrush( color );
     150        break;
    150151    case COLOR_BTNSHADOW:
    151         DeleteObject( sysColorObjects.hbrushBtnShadow );
    152         sysColorObjects.hbrushBtnShadow = CreateSolidBrush( color );
    153         break;
     152        DeleteObject( sysColorObjects.hbrushBtnShadow );
     153        sysColorObjects.hbrushBtnShadow = CreateSolidBrush( color );
     154        break;
    154155    case COLOR_GRAYTEXT:
    155         DeleteObject( sysColorObjects.hbrushGrayText );
    156         sysColorObjects.hbrushGrayText = CreateSolidBrush( color );
     156        DeleteObject( sysColorObjects.hbrushGrayText );
     157        sysColorObjects.hbrushGrayText = CreateSolidBrush( color );
    157158    case COLOR_BTNTEXT:
    158         DeleteObject( sysColorObjects.hbrushBtnText );
    159         sysColorObjects.hbrushBtnText = CreateSolidBrush( color );
    160         break;
     159        DeleteObject( sysColorObjects.hbrushBtnText );
     160        sysColorObjects.hbrushBtnText = CreateSolidBrush( color );
     161        break;
    161162    case COLOR_INACTIVECAPTIONTEXT:
    162         DeleteObject( sysColorObjects.hbrushInactiveCaptionText );
    163         sysColorObjects.hbrushInactiveCaptionText = CreateSolidBrush(color);
    164         break;
     163        DeleteObject( sysColorObjects.hbrushInactiveCaptionText );
     164        sysColorObjects.hbrushInactiveCaptionText = CreateSolidBrush(color);
     165        break;
    165166    case COLOR_BTNHIGHLIGHT:
    166         DeleteObject( sysColorObjects.hbrushBtnHighlight );
    167         sysColorObjects.hbrushBtnHighlight = CreateSolidBrush( color );
    168         break;
     167        DeleteObject( sysColorObjects.hbrushBtnHighlight );
     168        sysColorObjects.hbrushBtnHighlight = CreateSolidBrush( color );
     169        break;
    169170    case COLOR_3DDKSHADOW:
    170         DeleteObject( sysColorObjects.hbrush3DDkShadow );
    171         sysColorObjects.hbrush3DDkShadow = CreateSolidBrush( color );
    172         break;
     171        DeleteObject( sysColorObjects.hbrush3DDkShadow );
     172        sysColorObjects.hbrush3DDkShadow = CreateSolidBrush( color );
     173        break;
    173174    case COLOR_3DLIGHT:
    174         DeleteObject( sysColorObjects.hbrush3DLight );
    175         sysColorObjects.hbrush3DLight = CreateSolidBrush( color );
    176         break;
     175        DeleteObject( sysColorObjects.hbrush3DLight );
     176        sysColorObjects.hbrush3DLight = CreateSolidBrush( color );
     177        break;
    177178    case COLOR_INFOTEXT:
    178         DeleteObject( sysColorObjects.hbrushInfoText );
    179         sysColorObjects.hbrushInfoText = CreateSolidBrush( color );
    180         break;
     179        DeleteObject( sysColorObjects.hbrushInfoText );
     180        sysColorObjects.hbrushInfoText = CreateSolidBrush( color );
     181        break;
    181182    case COLOR_INFOBK:
    182         DeleteObject( sysColorObjects.hbrushInfoBk );
    183         sysColorObjects.hbrushInfoBk = CreateSolidBrush( color );
    184         break;
     183        DeleteObject( sysColorObjects.hbrushInfoBk );
     184        sysColorObjects.hbrushInfoBk = CreateSolidBrush( color );
     185        break;
    185186    case COLOR_ALTERNATEBTNFACE:
    186         DeleteObject(sysColorObjects.hbrushAlternateBtnFace);
     187        DeleteObject(sysColorObjects.hbrushAlternateBtnFace);
    187188        sysColorObjects.hbrushAlternateBtnFace = CreateSolidBrush(color);
    188189        break;
    189190    case COLOR_HOTLIGHT:
    190         DeleteObject(sysColorObjects.hbrushHotLight);
     191        DeleteObject(sysColorObjects.hbrushHotLight);
    191192        sysColorObjects.hbrushHotLight = CreateSolidBrush(color);
    192193        break;
    193194    case COLOR_GRADIENTACTIVECAPTION:
    194         DeleteObject(sysColorObjects.hbrushGradientActiveCaption);
     195        DeleteObject(sysColorObjects.hbrushGradientActiveCaption);
    195196        sysColorObjects.hbrushGradientActiveCaption = CreateSolidBrush(color);
    196197        break;
    197198    case COLOR_GRADIENTINACTIVECAPTION:
    198         DeleteObject(sysColorObjects.hbrushGradientInactiveCaption);
     199        DeleteObject(sysColorObjects.hbrushGradientInactiveCaption);
    199200        sysColorObjects.hbrushGradientInactiveCaption = CreateSolidBrush(color);
    200201        break;
     
    211212    for (i = 0, p = DefSysColors; i < NUM_SYS_COLORS; i++, p += 2)
    212213    {
    213         if (sscanf(p[1], " %d %d %d", &r, &g, &b ) != 3) r = g = b = 0;
    214         SYSCOLOR_SetColor( i, RGB(r,g,b) );
     214        if (sscanf(p[1], " %d %d %d", &r, &g, &b ) != 3) r = g = b = 0;
     215        SYSCOLOR_SetColor( i, RGB(r,g,b) );
    215216    }
    216217}
     
    220221{
    221222  if(fColorInit == FALSE) {
    222         SYSCOLOR_Init();
    223         fColorInit = TRUE;
     223        SYSCOLOR_Init();
     224        fColorInit = TRUE;
    224225  }
    225226#if 0
    226227  if (nIndex >= 0 && nIndex < NUM_SYS_COLORS)
    227         return SysColors[nIndex];
     228        return SysColors[nIndex];
    228229  else  return 0;
    229230#else
    230231  if(nIndex < COLOR_3DDKSHADOW)
    231         return O32_GetSysColor(nIndex);
     232        return O32_GetSysColor(nIndex);
    232233  else  return SysColors[nIndex];
    233234#endif
     
    241242
    242243    if(fColorInit == FALSE) {
    243         SYSCOLOR_Init();
    244         fColorInit = TRUE;
     244        SYSCOLOR_Init();
     245        fColorInit = TRUE;
    245246    }
    246247
     
    250251
    251252    for(i=0;i<nChanges;i++) {
    252         SYSCOLOR_SetColor(lpSysColor[i], lpColorValues[i]);
     253        SYSCOLOR_SetColor(lpSysColor[i], lpColorValues[i]);
    253254    }
    254255
     
    278279#endif
    279280  if(fFirst == TRUE) {
    280         for(i=0;i<sizeof(SysColors)/sizeof(HBRUSH);i++) {
    281                 lbrush.lbStyle = BS_SOLID;
    282                 lbrush.lbHatch = 0;
    283                 lbrush.lbColor = GetSysColor(i);
    284                 SysColors[i] = CreateBrushIndirect(&lbrush);
    285         }
    286         fFirst = FALSE;
     281        for(i=0;i<sizeof(SysColors)/sizeof(HBRUSH);i++) {
     282                lbrush.lbStyle = BS_SOLID;
     283                lbrush.lbHatch = 0;
     284                lbrush.lbColor = GetSysColor(i);
     285                SysColors[i] = CreateBrushIndirect(&lbrush);
     286        }
     287        fFirst = FALSE;
    287288  }
    288289  if(nIndex < sizeof(SysColors)/sizeof(HBRUSH)) {
    289290#ifdef DEBUG
    290         WriteLog(" %X\n", SysColors[nIndex]);
    291 #endif
    292         return(SysColors[nIndex]);
     291        WriteLog(" %X\n", SysColors[nIndex]);
     292#endif
     293        return(SysColors[nIndex]);
    293294  }
    294295#ifdef DEBUG
     
    300301//******************************************************************************
    301302/***********************************************************************
    302  * This function is new to the Wine lib -- it does not exist in 
     303 * This function is new to the Wine lib -- it does not exist in
    303304 * Windows. However, it is a natural complement for GetSysColorBrush
    304305 * in the Win32 API and is needed quite a bit inside Wine.
     
    306307HPEN WIN32API GetSysColorPen(INT index)
    307308{
     309    if (fColorInit == FALSE)
     310    {
     311      SYSCOLOR_Init();
     312      fColorInit = TRUE;
     313    }
     314
    308315    return SysColorPens[index];
    309316}
    310317//******************************************************************************
    311318//******************************************************************************
     319
Note: See TracChangeset for help on using the changeset viewer.