~paulliu/ubuntu/quantal/freerdp/fixext

« back to all changes in this revision

Viewing changes to include/freerdp/cache/brush.h

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2012-01-31 10:02:14 UTC
  • mto: This revision was merged to the branch mainline in revision 11.
  • Revision ID: package-import@ubuntu.com-20120131100214-zvig71djj2sqgq22
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * FreeRDP: A Remote Desktop Protocol Client
 
3
 * Brush Cache
 
4
 *
 
5
 * Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
 
6
 *
 
7
 * Licensed under the Apache License, Version 2.0 (the "License");
 
8
 * you may not use this file except in compliance with the License.
 
9
 * You may obtain a copy of the License at
 
10
 *
 
11
 *     http://www.apache.org/licenses/LICENSE-2.0
 
12
 *
 
13
 * Unless required by applicable law or agreed to in writing, software
 
14
 * distributed under the License is distributed on an "AS IS" BASIS,
 
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
16
 * See the License for the specific language governing permissions and
 
17
 * limitations under the License.
 
18
 */
 
19
 
 
20
#ifndef __BRUSH_CACHE_H
 
21
#define __BRUSH_CACHE_H
 
22
 
 
23
#include <freerdp/api.h>
 
24
#include <freerdp/types.h>
 
25
#include <freerdp/freerdp.h>
 
26
#include <freerdp/update.h>
 
27
#include <freerdp/utils/stream.h>
 
28
 
 
29
typedef struct _BRUSH_ENTRY BRUSH_ENTRY;
 
30
typedef struct rdp_brush_cache rdpBrushCache;
 
31
 
 
32
#include <freerdp/cache/cache.h>
 
33
 
 
34
struct _BRUSH_ENTRY
 
35
{
 
36
        uint32 bpp;
 
37
        void* entry;
 
38
};
 
39
 
 
40
struct rdp_brush_cache
 
41
{
 
42
        pPatBlt PatBlt; /* 0 */
 
43
        pCacheBrush CacheBrush; /* 1 */
 
44
        uint32 paddingA[16 - 2]; /* 2 */
 
45
 
 
46
        uint32 maxEntries; /* 16 */
 
47
        uint32 maxMonoEntries; /* 17 */
 
48
        BRUSH_ENTRY* entries; /* 18 */
 
49
        BRUSH_ENTRY* monoEntries; /* 19 */
 
50
        uint32 paddingB[32 - 20]; /* 20 */
 
51
 
 
52
        /* internal */
 
53
 
 
54
        rdpSettings* settings;
 
55
};
 
56
 
 
57
FREERDP_API void* brush_cache_get(rdpBrushCache* brush, uint32 index, uint32* bpp);
 
58
FREERDP_API void brush_cache_put(rdpBrushCache* brush, uint32 index, void* entry, uint32 bpp);
 
59
 
 
60
FREERDP_API void brush_cache_register_callbacks(rdpUpdate* update);
 
61
 
 
62
FREERDP_API rdpBrushCache* brush_cache_new(rdpSettings* settings);
 
63
FREERDP_API void brush_cache_free(rdpBrushCache* brush);
 
64
 
 
65
#endif /* __BRUSH_CACHE_H */