BlinkenArea - GitList
Repositories
Blog
Wiki
libetherpix
Code
Commits
Branches
Tags
Search
Tree:
4ef7955
Branches
Tags
master
libetherpix
include
etherpix
display.h
update copyright year
Stefan Schuermans
commited
4ef7955
at 2017-05-20 16:55:59
display.h
Blame
History
Raw
/* * EtherPix library * * Copyright 2010-2017 Stefan Schuermans <stefan schuermans info> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 3 of the License. * * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef ETP_INC_DISPLAY_H #define ETP_INC_DISPLAY_H #include <etherpix/msg.h> #include <etherpix/types.h> /** * \brief create a new EtherPix display * * \param[in] sz_config_file name of config file to read * \param[in] p_msg_func message callback function or NULL * \param[in] p_msg_ctx user context for message callback * \return pointer to new EtherPix display on success * or NULL on error */ etp_display_t *etp_display_create(const char *sz_config_file, etp_msg_func_p_t p_msg_func, void *p_msg_ctx); /** * \brief free a EtherPix display * * \param[in] p_display pointer to EtherPix display */ void etp_display_free(etp_display_t *p_display); /** * \brief get size of display * * \param[in] p_display pointer to EtherPix display * \param[out] p_width width of display * \param[out] p_height height of display */ void etp_display_get_size(etp_display_t *p_display, unsigned int *p_width, unsigned int *p_height); /** * \brief clear image data to output on EtherPix display * * clears the stored image data, * stored image data can later be sent to the distributors using * etp_display_send() * * \param[in] p_display pointer to EtherPix display */ void etp_display_data_clear(etp_display_t *p_display); /** * \brief set image data to output on EtherPix display * * updates (part of) the stored image data, * stored image data can later be sent to the distributors using * etp_display_send() * * \param[in] p_display pointer to EtherPix display * \param[in] p_data pointer to rectangular section of image data * \param[in] stride_x stride between two pixels in X direction * \param[in] stride_y stride between two pixels in Y direction * \param[in] x X coordinate of left side of rectangular area * \param[in] y Y coordinate of top side of rectangular area * \param[in] width with of rectangular area * \param[in] height height of rectangular area * \param[in] pixfmt format of pixel data */ void etp_display_data_fmt(etp_display_t *p_display, etp_u8_t *p_data, int stride_x, int stride_y, unsigned int x, unsigned int y, unsigned int width, unsigned int height, etp_pixfmt_t pixfmt); /** * \brief set image data to output on EtherPix display * * see etp_display_data_fmt for documentation * pixfmt is fixed to etp_pixfmt_rgb24 */ void etp_display_data(etp_display_t *p_display, etp_u8_t *p_data, int stride_x, int stride_y, unsigned int x, unsigned int y, unsigned int width, unsigned int height); /** * \brief send image data to distributors * * sends the currently stored image data to all configured distributors * * \param[in] p_display pointer to EtherPix display */ void etp_display_send(etp_display_t *p_display); #endif /* #ifndef ETP_INC_DISPLAY_H */