b17c6a4ba337ffb5e7daeed11e6258288e008e1a
Stefan Schuermans v1.0.0

Stefan Schuermans authored 13 years ago

1) /*
2)  * FlexiPix library
3)  *
Stefan Schuermans removed version information...

Stefan Schuermans authored 13 years ago

4)  * Copyright 2010-2011 Stefan Schuermans <stefan schuermans info>
Stefan Schuermans v1.0.0

Stefan Schuermans authored 13 years ago

5)  *
6)  * This program is free software: you can redistribute it and/or modify
7)  * it under the terms of the GNU General Public License as published by
8)  * the Free Software Foundation, version 3 of the License.
9)  *
10)  *
11)  * This program is distributed in the hope that it will be useful,
12)  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13)  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14)  * GNU General Public License for more details.
15)  *
16)  * You should have received a copy of the GNU Lesser General Public License
17)  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18)  */
19) 
20) #ifndef FLP_INC_DISPLAY_H
21) #define FLP_INC_DISPLAY_H
22) 
23) #include <flexipix/msg.h>
24) #include <flexipix/types.h>
25) 
26) /**
27)  * \brief create a new FlexiPix display
28)  *
29)  * \param[in] sz_config_file name of config file to read
30)  * \param[in] p_msg_func message callback function or NULL
31)  * \param[in] p_msg_ctx user context for message callback
32)  * \return pointer to new FlexiPix display on success
33)  *         or NULL on error
34)  */
35) flp_display_t *flp_display_create(const char *sz_config_file,
36)                                   flp_msg_func_p_t p_msg_func,
37)                                   void *p_msg_ctx);
38) 
39) /**
40)  * \brief free a FlexiPix display
41)  *
42)  * \param[in] p_display pointer to FlexiPix display
43)  */
44) void flp_display_free(flp_display_t *p_display);
45) 
46) /**
47)  * \brief get size of display
48)  *
49)  * \param[in] p_display pointer to FlexiPix display
50)  * \param[out] p_width width of display
51)  * \param[out] p_height height of display
52)  */
53) void flp_display_get_size(flp_display_t *p_display,
54)                           unsigned int *p_width, unsigned int *p_height);
55) 
56) /**
57)  * \brief clear image data to output on FlexiPix display
58)  *
59)  * clears the stored image data,
60)  * stored image data can later be sent to the distributors using
61)  * flp_display_send()
62)  *
63)  * \param[in] p_display pointer to FlexiPix display
64)  */
65) void flp_display_data_clear(flp_display_t *p_display);
66) 
67) /**
68)  * \brief set image data to output on FlexiPix display
69)  *
70)  * updates (part of) the stored image data,
71)  * stored image data can later be sent to the distributors using
72)  * flp_display_send()
73)  *
74)  * \param[in] p_display pointer to FlexiPix display
Stefan Schuermans support BGR input in additi...

Stefan Schuermans authored 7 years ago

75)  * \param[in] p_data pointer to rectangular section of image data
Stefan Schuermans v1.0.0

Stefan Schuermans authored 13 years ago

76)  * \param[in] stride_x stride between two pixels in X direction
77)  * \param[in] stride_y stride between two pixels in Y direction
78)  * \param[in] x X coordinate of left side of rectangular area
79)  * \param[in] y Y coordinate of top side of rectangular area
80)  * \param[in] width with of rectangular area
81)  * \param[in] height height of rectangular area
Stefan Schuermans support BGR input in additi...

Stefan Schuermans authored 7 years ago

82)  * \param[in] pixfmt format of pixel data
83)  */
84) void flp_display_data_fmt(flp_display_t *p_display, flp_u8_t *p_data,
85)                           int stride_x, int stride_y,
86)                           unsigned int x, unsigned int y,
87)                           unsigned int width, unsigned int height,
88)                           flp_pixfmt_t pixfmt);
89) 
90) /**
91)  * \brief set image data to output on FlexiPix display
92)  *
93)  * see flp_display_data_fmt for documentation
94)  * pixfmt is fixed to flp_pixfmt_rgb24