Initial commit - from Precise source
[freerdp-ubuntu-pcb-backport.git] / libfreerdp-utils / rect.c
1 /**
2  * FreeRDP: A Remote Desktop Protocol Client
3  * Rectangle Utils
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 #include <freerdp/types.h>
21 #include <freerdp/utils/memory.h>
22
23 #include <freerdp/utils/rect.h>
24
25 void freerdp_read_rectangle_16(STREAM* s, RECTANGLE_16* rectangle_16)
26 {
27         stream_read_uint16(s, rectangle_16->left); /* left (2 bytes) */
28         stream_read_uint16(s, rectangle_16->top); /* top (2 bytes) */
29         stream_read_uint16(s, rectangle_16->right); /* right (2 bytes) */
30         stream_read_uint16(s, rectangle_16->bottom); /* bottom (2 bytes) */
31 }
32
33 void freerdp_write_rectangle_16(STREAM* s, RECTANGLE_16* rectangle_16)
34 {
35         stream_write_uint16(s, rectangle_16->left); /* left (2 bytes) */
36         stream_write_uint16(s, rectangle_16->top); /* top (2 bytes) */
37         stream_write_uint16(s, rectangle_16->right); /* right (2 bytes) */
38         stream_write_uint16(s, rectangle_16->bottom); /* bottom (2 bytes) */
39 }
40
41 RECTANGLE_16* freerdp_rectangle_16_new(uint16 left, uint16 top, uint16 right, uint16 bottom)
42 {
43         RECTANGLE_16* rectangle_16 = xnew(RECTANGLE_16);
44
45         rectangle_16->left = left;
46         rectangle_16->top = top;
47         rectangle_16->right = right;
48         rectangle_16->bottom = bottom;
49
50         return rectangle_16;
51 }
52
53 void freerdp_rectangle_16_free(RECTANGLE_16* rectangle_16)
54 {
55         xfree(rectangle_16);
56 }