mutter/doc/reference/cogl/cogl-sections.txt
Neil Roberts 3700cc26a5 Change API so that CoglPixelBuffer no longer knows its w/h/format
The idea is that CoglPixelBuffer should just be a buffer that can be
used for pixel data and it has no idea about the details of any images
that are stored in it. This is analogous to CoglAttributeBuffer which
itself does not have any information about the attributes. When you
want to use a pixel buffer you should create a CoglBitmap which points
to a region of the attribute buffer and provides the extra needed
information such as the width, height and format. That way it is also
possible to use a single CoglPixelBuffer with multiple bitmaps.

The changes that are made are:

• cogl_pixel_buffer_new_with_size has been removed and in its place is
  cogl_bitmap_new_with_size. This will create a pixel buffer at the
  right size and rowstride for the given width/height/format and
  immediately create a single CoglBitmap to point into it. The old
  function had an out-parameter for the stride of the image but with
  the new API this should be queriable from the bitmap (although there
  is no function for this yet).

• There is now a public cogl_pixel_buffer_new constructor. This takes
  a size in bytes and data pointer similarly to
  cogl_attribute_buffer_new.

• cogl_texture_new_from_buffer has been removed. If you want to create
  a texture from a pixel buffer you should wrap it up in a bitmap
  first. There is already API to create a texture from a bitmap.

This patch also does a bit of header juggling because cogl-context.h
was including cogl-texture.h and cogl-framebuffer.h which were causing
some circular dependencies when cogl-bitmap.h includes cogl-context.h.
These weren't actually needed in cogl-context.h itself but a few other
headers were relying on them being included so this adds the #includes
where necessary.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2012-03-05 18:47:45 +00:00

711 lines
14 KiB
Plaintext

<SECTION>
<FILE>cogl</FILE>
<TITLE>General API</TITLE>
CoglObject
cogl_object_ref
cogl_object_unref
CoglUserDataKey
cogl_object_get_user_data
cogl_object_set_user_data
COGL_INVALID_HANDLE
CoglHandle
cogl_handle_ref
cogl_handle_unref
<SUBSECTION>
CoglFuncPtr
CoglPixelFormat
CoglBufferTarget
CoglBufferBit
CoglAttributeType
<SUBSECTION>
CoglFeatureFlags
cogl_get_features
cogl_features_available
cogl_get_proc_address
cogl_get_option_group
<SUBSECTION>
cogl_push_matrix
cogl_pop_matrix
cogl_scale
cogl_translate
cogl_rotate
cogl_transform
cogl_frustum
cogl_perspective
cogl_ortho
<SUBSECTION>
cogl_get_modelview_matrix
cogl_set_modelview_matrix
cogl_get_projection_matrix
cogl_set_projection_matrix
cogl_set_viewport
cogl_get_viewport
<SUBSECTION>
cogl_clear
cogl_set_backface_culling_enabled
cogl_get_backface_culling_enabled
<SUBSECTION>
CoglFogMode
cogl_set_fog
cogl_disable_fog
<SUBSECTION>
cogl_set_source
cogl_set_source_color
cogl_set_source_color4ub
cogl_set_source_color4f
cogl_set_source_texture
cogl_get_source
cogl_push_source
cogl_pop_source
<SUBSECTION>
CoglReadPixelsFlags
cogl_read_pixels
<SUBSECTION>
cogl_flush
cogl_begin_gl
cogl_end_gl
<SUBSECTION Standard>
COGL_TYPE_ATTRIBUTE_TYPE
COGL_TYPE_BLEND_STRING_ERROR
COGL_TYPE_BUFFER_ACCESS
COGL_TYPE_BUFFER_BIT
COGL_TYPE_BUFFER_TARGET
COGL_TYPE_BUFFER_UPDATE_HINT
COGL_TYPE_BUFFER_USAGE_HINT
COGL_TYPE_DEBUG_FLAGS
COGL_TYPE_DRIVER_ERROR
COGL_TYPE_FEATURE_FLAGS
COGL_TYPE_FIXED
COGL_TYPE_FOG_MODE
COGL_TYPE_HANDLE
COGL_TYPE_INDICES_TYPE
COGL_TYPE_MATERIAL_ALPHA_FUNC
COGL_TYPE_MATERIAL_FILTER
COGL_TYPE_MATERIAL_LAYER_TYPE
COGL_TYPE_PIXEL_FORMAT
COGL_TYPE_READ_PIXELS_FLAGS
COGL_TYPE_SHADER_TYPE
COGL_TYPE_TEXTURE_FLAGS
COGL_TYPE_VERTICES_MODE
<SUBSECTION Private>
COGL_DRIVER_ERROR
CoglDriverError
cogl_attribute_type_get_type
cogl_buffer_bit_get_type
cogl_buffer_target_get_type
cogl_debug_flags_get_type
cogl_driver_error_get_type
cogl_feature_flags_get_type
cogl_fixed_get_type
cogl_fog_mode_get_type
cogl_handle_get_type
cogl_indices_type_get_type
cogl_material_alpha_func_get_type
cogl_material_filter_get_type
cogl_material_layer_type_get_type
cogl_pixel_format_get_type
cogl_read_pixels_flags_get_type
cogl_shader_type_get_type
cogl_texture_flags_get_type
cogl_vertices_mode_get_type
COGL_AFIRST_BIT
COGL_A_BIT
COGL_BGR_BIT
COGL_PREMULT_BIT
</SECTION>
<SECTION>
<FILE>cogl-clipping</FILE>
<TITLE>Clipping</TITLE>
cogl_clip_push_rectangle
cogl_clip_push_window_rectangle
cogl_clip_push_from_path
cogl_clip_push_from_path_preserve
cogl_clip_pop
</SECTION>
<SECTION>
<FILE>cogl-primitives</FILE>
<TITLE>Primitives</TITLE>
cogl_rectangle
cogl_rectangles
cogl_rectangle_with_texture_coords
cogl_rectangles_with_texture_coords
cogl_rectangle_with_multitexture_coords
cogl_polygon
</SECTION>
<SECTION>
<FILE>cogl-paths</FILE>
<TITLE>Path Primitives</TITLE>
cogl_is_path
cogl_path_new
cogl_get_path
cogl_set_path
cogl_path_copy
cogl_path_move_to
cogl_path_close
cogl_path_line_to
cogl_path_curve_to
cogl_path_arc
cogl_path_rel_move_to
cogl_path_rel_line_to
cogl_path_rel_curve_to
cogl_path_line
cogl_path_polyline
cogl_path_polygon
cogl_path_rectangle
cogl_path_round_rectangle
cogl_path_ellipse
<SUBSECTION>
CoglPathFillRule
cogl_path_set_fill_rule
cogl_path_get_fill_rule
cogl_path_fill
cogl_path_fill_preserve
cogl_path_stroke
cogl_path_stroke_preserve
</SECTION>
<SECTION>
<FILE>cogl-bitmap</FILE>
<TITLE>Bitmaps</TITLE>
CoglBitmap
cogl_bitmap_new_from_file
cogl_bitmap_get_size_from_file
cogl_is_bitmap
CoglBitmapError
COGL_BITMAP_ERROR
<SUBSECTION Standard>
cogl_bitmap_error_get_type
cogl_bitmap_error_quark
</SECTION>
<SECTION>
<FILE>cogl-texture</FILE>
<TITLE>Textures</TITLE>
CoglTextureVertex
CoglTextureFlags
cogl_texture_new_with_size
cogl_texture_new_from_file
cogl_texture_new_from_data
cogl_texture_new_from_foreign
cogl_texture_new_from_bitmap
cogl_texture_new_from_sub_texture
cogl_is_texture
<SUBSECTION>
cogl_texture_get_width
cogl_texture_get_height
cogl_texture_get_format
cogl_texture_get_rowstride
cogl_texture_get_max_waste
cogl_texture_is_sliced
cogl_texture_get_gl_texture
cogl_texture_get_data
cogl_texture_set_region
<SUBSECTION Private>
COGL_TEXTURE_MAX_WASTE
</SECTION>
<SECTION>
<FILE>cogl-texture-2d</FILE>
<TITLE>2D textures</TITLE>
CoglTexture2D
cogl_is_texture_2d
cogl_texture_2d_new_with_size
cogl_texture_2d_new_from_data
cogl_texture_2d_new_from_foreign
</SECTION>
<SECTION>
<FILE>cogl-texture-3d</FILE>
<TITLE>3D textures</TITLE>
cogl_texture_3d_new_with_size
cogl_texture_3d_new_from_data
cogl_is_texture_3d
</SECTION>
<SECTION>
<FILE>cogl-shaders</FILE>
<TITLE>Shaders and Programmable Pipeline</TITLE>
CoglShaderType
cogl_create_shader
cogl_is_shader
cogl_shader_source
cogl_shader_compile
cogl_shader_get_info_log
cogl_shader_get_type
cogl_shader_is_compiled
<SUBSECTION>
cogl_create_program
cogl_is_program
cogl_program_attach_shader
cogl_program_link
cogl_program_get_uniform_location
cogl_program_set_uniform_1f
cogl_program_set_uniform_1i
cogl_program_set_uniform_float
cogl_program_set_uniform_int
cogl_program_set_uniform_matrix
</SECTION>
<SECTION>
<FILE>cogl-offscreen</FILE>
<TITLE>Offscreen Buffers</TITLE>
cogl_offscreen_new_to_texture
cogl_is_offscreen
cogl_set_framebuffer
cogl_push_framebuffer
cogl_pop_framebuffer
cogl_set_draw_buffer
cogl_pop_draw_buffer
cogl_push_draw_buffer
</SECTION>
<SECTION>
<FILE>cogl-fixed</FILE>
<TITLE>Fixed Point API</TITLE>
CoglFixed
COGL_FIXED_BITS
COGL_FIXED_Q
COGL_FIXED_MAX
COGL_FIXED_MIN
<SUBSECTION>
COGL_FIXED_FROM_FLOAT
COGL_FIXED_TO_FLOAT
COGL_FIXED_FROM_INT
COGL_FIXED_TO_INT
COGL_FIXED_FROM_DOUBLE
COGL_FIXED_TO_DOUBLE
COGL_FLOAT_TO_INT
COGL_FLOAT_TO_UINT
<SUBSECTION>
COGL_FIXED_EPSILON
COGL_FIXED_1
COGL_FIXED_0_5
COGL_FIXED_30
COGL_FIXED_45
COGL_FIXED_60
COGL_FIXED_90
COGL_FIXED_120
COGL_FIXED_180
COGL_FIXED_240
COGL_FIXED_255
COGL_FIXED_270
COGL_FIXED_360
<SUBSECTION>
COGL_FIXED_MUL
COGL_FIXED_DIV
COGL_FIXED_MUL_DIV
COGL_FIXED_FAST_DIV
COGL_FIXED_FAST_MUL
COGL_FIXED_FRACTION
COGL_FIXED_FLOOR
COGL_FIXED_CEIL
<SUBSECTION>
COGL_FIXED_2_PI
COGL_FIXED_PI
COGL_FIXED_PI_2
COGL_FIXED_PI_4
COGL_RADIANS_TO_DEGREES
<SUBSECTION>
COGL_SQRTI_ARG_10_PERCENT
COGL_SQRTI_ARG_5_PERCENT
COGL_SQRTI_ARG_MAX
cogl_sqrti
<SUBSECTION>
cogl_fixed_atan2
cogl_fixed_atan
cogl_fixed_cos
cogl_fixed_log2
cogl_fixed_pow
cogl_fixed_pow2
cogl_fixed_sin
cogl_fixed_sqrt
cogl_fixed_tan
cogl_fixed_div
cogl_fixed_mul
cogl_fixed_mul_div
<SUBSECTION>
CoglAngle
COGL_ANGLE_FROM_DEG
COGL_ANGLE_FROM_DEGX
COGL_ANGLE_TO_DEG
COGL_ANGLE_TO_DEGX
cogl_angle_cos
cogl_angle_sin
cogl_angle_tan
<SUBSECTION Private>
cogl_double_to_fixed
cogl_double_to_int
cogl_double_to_uint
</SECTION>
<SECTION>
<FILE>cogl-color</FILE>
<TITLE>Color Type</TITLE>
CoglColor
cogl_color_new
cogl_color_copy
cogl_color_free
cogl_color_init_from_4f
cogl_color_init_from_4fv
cogl_color_init_from_4ub
cogl_color_set_from_4ub
cogl_color_set_from_4f
<SUBSECTION>
cogl_color_get_red
cogl_color_get_green
cogl_color_get_blue
cogl_color_get_alpha
<SUBSECTION>
cogl_color_get_red_byte
cogl_color_get_green_byte
cogl_color_get_blue_byte
cogl_color_get_alpha_byte
<SUBSECTION>
cogl_color_get_red_float
cogl_color_get_green_float
cogl_color_get_blue_float
cogl_color_get_alpha_float
<SUBSECTION>
cogl_color_set_red
cogl_color_set_green
cogl_color_set_blue
cogl_color_set_alpha
<SUBSECTION>
cogl_color_set_red_byte
cogl_color_set_green_byte
cogl_color_set_blue_byte
cogl_color_set_alpha_byte
<SUBSECTION>
cogl_color_set_red_float
cogl_color_set_green_float
cogl_color_set_blue_float
cogl_color_set_alpha_float
<SUBSECTION>
cogl_color_premultiply
cogl_color_unpremultiply
cogl_color_equal
</SECTION>
<SECTION>
<FILE>cogl-vertex-buffer</FILE>
<TITLE>Vertex Buffers</TITLE>
cogl_vertex_buffer_new
cogl_vertex_buffer_get_n_vertices
cogl_vertex_buffer_add
cogl_vertex_buffer_delete
cogl_vertex_buffer_submit
cogl_vertex_buffer_disable
cogl_vertex_buffer_enable
CoglVerticesMode
cogl_vertex_buffer_draw
cogl_is_vertex_buffer
<SUBSECTION>
CoglIndicesType
cogl_vertex_buffer_indices_new
cogl_vertex_buffer_draw_elements
cogl_vertex_buffer_indices_get_for_quads
cogl_is_vertex_buffer_indices
<SUBSECTION Private>
cogl_vertex_buffer_indices_get_type
</SECTION>
<SECTION>
<FILE>cogl-matrix</FILE>
<TITLE>Matrices</TITLE>
CoglMatrix
cogl_matrix_init_identity
cogl_matrix_copy
cogl_matrix_equal
cogl_matrix_free
cogl_matrix_frustum
cogl_matrix_ortho
cogl_matrix_perspective
cogl_matrix_multiply
cogl_matrix_rotate
cogl_matrix_translate
cogl_matrix_scale
cogl_matrix_transpose
cogl_matrix_init_from_array
cogl_matrix_get_array
cogl_matrix_get_inverse
cogl_matrix_transform_point
cogl_matrix_project_points
cogl_matrix_transform_points
cogl_matrix_is_identity
</SECTION>
<SECTION>
<FILE>cogl-material</FILE>
<TITLE>Materials</TITLE>
CoglMaterial
CoglMaterialLayer
CoglMaterialLayerCallback
cogl_material_new
cogl_material_copy
cogl_is_material
cogl_material_set_color
cogl_material_set_color4ub
cogl_material_set_color4f
cogl_material_get_color
cogl_material_set_ambient
cogl_material_get_ambient
cogl_material_set_diffuse
cogl_material_get_diffuse
cogl_material_set_ambient_and_diffuse
cogl_material_set_emission
cogl_material_get_emission
cogl_material_set_specular
cogl_material_get_specular
cogl_material_set_shininess
cogl_material_get_shininess
CoglMaterialAlphaFunc
cogl_material_set_alpha_test_function
COGL_BLEND_STRING_ERROR
CoglBlendStringError
cogl_material_set_blend
cogl_material_set_blend_constant
cogl_material_set_point_size
cogl_material_get_point_size
cogl_material_set_layer
cogl_material_remove_layer
cogl_material_set_layer_combine
cogl_material_set_layer_combine_constant
cogl_material_set_layer_matrix
cogl_material_set_layer_point_sprite_coords_enabled
cogl_material_get_layer_point_sprite_coords_enabled
cogl_material_get_n_layers
CoglMaterialFilter
cogl_material_set_layer_filters
CoglMaterialLayerType
cogl_material_layer_get_type
cogl_material_layer_get_texture
cogl_material_layer_get_min_filter
cogl_material_layer_get_mag_filter
CoglMaterialWrapMode
cogl_material_set_layer_wrap_mode
cogl_material_set_layer_wrap_mode_s
cogl_material_set_layer_wrap_mode_t
cogl_material_set_layer_wrap_mode_p
cogl_material_get_layer_wrap_mode_s
cogl_material_get_layer_wrap_mode_t
cogl_material_get_layer_wrap_mode_p
cogl_material_wrap_mode_get_type
cogl_material_set_user_program
cogl_material_get_user_program
cogl_material_foreach_layer
<SUBSECTION Private>
cogl_blend_string_error_get_type
cogl_blend_string_error_quark
</SECTION>
<SECTION>
<FILE>cogl-depth-state</FILE>
CoglDepthState
cogl_depth_state_init
cogl_depth_state_set_test_enabled
cogl_depth_state_get_test_enabled
cogl_depth_state_set_test_function
cogl_depth_state_get_test_function
cogl_depth_state_set_writing_enabled
cogl_depth_state_get_writing_enabled
cogl_depth_state_set_range
cogl_depth_state_get_range
</SECTION>
<SECTION>
<FILE>cogl-buffer</FILE>
<TITLE>Buffers</TITLE>
cogl_is_buffer
cogl_buffer_get_size
CoglBufferUsageHint
cogl_buffer_set_usage_hint
cogl_buffer_get_usage_hint
CoglBufferUpdateHint
cogl_buffer_set_update_hint
cogl_buffer_get_update_hint
CoglBufferAccess
cogl_buffer_map
cogl_buffer_unmap
cogl_buffer_set_data
<SUBSECTION>
cogl_pixel_buffer_new
cogl_is_pixel_buffer
<SUBSECTION Private>
cogl_buffer_access_get_type
cogl_buffer_update_hint_get_type
cogl_buffer_usage_hint_get_type
</SECTION>
<SECTION>
<FILE>cogl-vector</FILE>
<TITLE>Vectors</TITLE>
cogl_vector3_init
cogl_vector3_init_zero
cogl_vector3_equal
cogl_vector3_equal_with_epsilon
cogl_vector3_copy
cogl_vector3_free
cogl_vector3_invert
cogl_vector3_add
cogl_vector3_subtract
cogl_vector3_multiply_scalar
cogl_vector3_divide_scalar
cogl_vector3_normalize
cogl_vector3_magnitude
cogl_vector3_cross_product
cogl_vector3_dot_product
cogl_vector3_distance
</SECTION>
<SECTION>
<FILE>cogl-gtype</FILE>
<TITLE>GType Integration API</TITLE>
cogl_gtype_matrix_get_type
</SECTION>
<SECTION>
<FILE>cogl-deprecated</FILE>
<TITLE>General API (Deprecated)</TITLE>
cogl_check_extension
cogl_viewport
cogl_get_bitmasks
cogl_set_depth_test_enabled
cogl_get_depth_test_enabled
</SECTION>
<SECTION>
<FILE>cogl-clipping-deprecated</FILE>
<TITLE>Clipping (Deprecated)</TITLE>
cogl_clip_push
cogl_clip_push_window_rect
cogl_clip_ensure
cogl_clip_stack_save
cogl_clip_stack_restore
</SECTION>
<SECTION>
<FILE>cogl-texture-deprecated</FILE>
<TITLE>Textures (Deprecated)</TITLE>
cogl_texture_ref
cogl_texture_unref
</SECTION>
<SECTION>
<FILE>cogl-material-deprecated</FILE>
<TITLE>Materials (Deprecated)</TITLE>
cogl_material_ref
cogl_material_unref
cogl_material_get_layers
</SECTION>
<SECTION>
<FILE>cogl-vertex-buffer-deprecated</FILE>
<TITLE>Vertex Buffers (Deprecated)</TITLE>
cogl_vertex_buffer_ref
cogl_vertex_buffer_unref
</SECTION>
<SECTION>
<FILE>cogl-shaders-deprecated</FILE>
<TITLE>Shaders and Programmable Pipeline (Deprecated)</TITLE>
cogl_shader_ref
cogl_shader_unref
<SUBSECTION>
cogl_program_ref
cogl_program_unref
cogl_program_use
cogl_program_uniform_1f
cogl_program_uniform_1i
cogl_program_uniform_float
cogl_program_uniform_int
cogl_program_uniform_matrix
</SECTION>
<SECTION>
<FILE>cogl-offscreen-deprecated</FILE>
<TITLE>Offscreen Buffers (Deprecated)</TITLE>
cogl_offscreen_ref
cogl_offscreen_unref
</SECTION>
<SECTION>
<FILE>cogl-euler</FILE>
<TITLE>Eulers (Rotations)</TITLE>
CoglEuler
cogl_euler_init
cogl_euler_init_from_matrix
cogl_euler_init_from_quaternion
cogl_euler_equal
cogl_euler_copy
cogl_euler_free
</SECTION>
<SECTION>
<FILE>cogl-quaternion</FILE>
<TITLE>Quaternions (Rotations)</TITLE>
CoglQuaternion
cogl_quaternion_init_identity
cogl_quaternion_init
cogl_quaternion_init_from_angle_vector
cogl_quaternion_init_from_array
cogl_quaternion_init_from_x_rotation
cogl_quaternion_init_from_y_rotation
cogl_quaternion_init_from_z_rotation
cogl_quaternion_equal
cogl_quaternion_copy
cogl_quaternion_free
cogl_quaternion_get_rotation_angle
cogl_quaternion_get_rotation_axis
cogl_quaternion_normalize
cogl_quaternion_dot_product
cogl_quaternion_invert
cogl_quaternion_multiply
cogl_quaternion_pow
cogl_quaternion_slerp
cogl_quaternion_nlerp
cogl_quaternion_squad
cogl_get_static_identity_quaternion
cogl_get_static_zero_quaternion
</SECTION>