123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef GIL_RGBA_H
- #define GIL_RGBA_H
- #include <cstddef>
- #include "gil_config.hpp"
- #include <boost/mpl/contains.hpp>
- #include "rgb.hpp"
- #include "planar_pixel_iterator.hpp"
- namespace boost { namespace gil {
- struct alpha_t {};
- typedef mpl::vector4<red_t,green_t,blue_t,alpha_t> rgba_t;
- typedef layout<rgba_t> rgba_layout_t;
- typedef layout<rgba_t, mpl::vector4_c<int,2,1,0,3> > bgra_layout_t;
- typedef layout<rgba_t, mpl::vector4_c<int,1,2,3,0> > argb_layout_t;
- typedef layout<rgba_t, mpl::vector4_c<int,3,2,1,0> > abgr_layout_t;
- template <typename IC>
- inline
- typename type_from_x_iterator<planar_pixel_iterator<IC,rgba_t> >::view_t
- planar_rgba_view(std::size_t width, std::size_t height,
- IC r, IC g, IC b, IC a,
- std::ptrdiff_t rowsize_in_bytes) {
- typedef typename type_from_x_iterator<planar_pixel_iterator<IC,rgba_t> >::view_t RView;
- return RView(width, height,
- typename RView::locator(planar_pixel_iterator<IC,rgba_t>(r,g,b,a),
- rowsize_in_bytes));
- }
- } }
- #endif
|