First step in using faster approach for A<->W message mapping.
[wine] / dlls / user / cache.c
1 /*
2  * Wine internally cached objects to speedup some things and prevent
3  * infinite duplication of trivial code and data.
4  *
5  * Copyright 1997 Bertho A. Stultiens
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  */
21
22 #include <stdarg.h>
23
24 #include "windef.h"
25 #include "winbase.h"
26 #include "wingdi.h"
27 #include "user.h"
28
29 static const WORD wPattern55AA[] =
30 {
31     0x5555, 0xaaaa, 0x5555, 0xaaaa,
32     0x5555, 0xaaaa, 0x5555, 0xaaaa
33 };
34
35 static HBRUSH  hPattern55AABrush = 0;
36 static HBITMAP hPattern55AABitmap = 0;
37
38
39 /*********************************************************************
40  *      CACHE_GetPattern55AABrush
41  */
42 HBRUSH CACHE_GetPattern55AABrush(void)
43 {
44     if (!hPattern55AABrush)
45     {
46         hPattern55AABitmap = CreateBitmap( 8, 8, 1, 1, wPattern55AA );
47         hPattern55AABrush = CreatePatternBrush( hPattern55AABitmap );
48     }
49     return hPattern55AABrush;
50 }