oyArray2d_s Struct Reference
Description: C source code API documentation for the Oyranos project.
Keywords: Oyranos,Color Management,Color Management,ICC,CMS,C,doxygen,API,documentation

| Oyranos Color Management System API - Version 0.9.6

Public Member Functions | Data Fields
oyArray2d_s Struct Reference
Conversion » Image Containers

2d data array More...

`#include <oyArray2d_s.h>`

Inheritance diagram for oyArray2d_s:
Collaboration diagram for oyArray2d_s:

## Public Member Functions
OYAPI oyArray2d_s *OYEXPORT | oyArray2d_New (oyObject_s object)
| allocate a new Array2d object More...
| oyArray2d_Copy
| Copy or Reference a Array2d object. More...
OYAPI int OYEXPORT | oyArray2d_Release (oyArray2d_s **array2d)
| release and possibly deallocate a oyArray2d_s object More...
OYAPI oyArray2d_s *OYEXPORT | oyArray2d_Create (oyPointer data, int width, int height, oyDATATYPE_e data_type, oyObject_s object)
| Allocate and initialise a oyArray2d_s object. More...
OYAPI oyPointer OYEXPORT | oyArray2d_GetData (oyArray2d_s *obj)
| Get the data blob. More...
OYAPI int OYEXPORT | oyArray2d_SetData (oyArray2d_s *obj, oyPointer data)
| Set the data blob and (re-)initialise the object. More...
OYAPI int OYEXPORT | oyArray2d_SetRows (oyArray2d_s *obj, oyPointer *rows, int do_copy)
| Set the data and (re-)initialise the object. More...
int | oyArray2d_SetFocus (oyArray2d_s *array, oyRectangle_s *rectangle)
| Move a arrays active area to a given rectangle. More...
OYAPI int OYEXPORT | oyArray2d_Reset (oyArray2d_s *array, int width, int height, oyDATATYPE_e data_type)
| Reinitialise Array. More...
OYAPI double OYEXPORT | oyArray2d_GetDataGeo1 (oyArray2d_s *array, int x_y_w_h)
| Get Geometry of the data rectangle. More...
OYAPI int OYEXPORT | oyArray2d_GetWidth (oyArray2d_s *array)
| Get data Width. More...
OYAPI int OYEXPORT | oyArray2d_GetHeight (oyArray2d_s *array)
| Get data Height. More...
OYAPI oyDATATYPE_e OYEXPORT | oyArray2d_GetType (oyArray2d_s *array)
| Get data Type. More...
OYAPI const char *OYEXPORT | oyArray2d_Show (oyArray2d_s *array, int channels)
| Print array geometries. More...
Public Member Functions inherited from oyStruct_s
const char * | oyStruct_GetTextFromModule (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags)
| get object infos from a module More...
const char * | oyStruct_GetText (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags)
| Get a text dump. More...
| oyStruct_RegisterStaticMessageFunc
| register a function for verbosity More...
| oyStruct_GetInfo
| get a additional string from a object More...
const char * | oyStructTypeToText (oyOBJECT_e type)
| Objects type to small string. More...

## Data Fields
const oyOBJECT_e | type_
| Type of object. More...
oyStruct_Copy_f | copy
| Copy function. More...
oyStruct_Release_f | release
| Release function. More...
oyObject_s | oy_
| Oyranos internal object. More...
Data Fields inherited from oyStruct_s
const oyOBJECT_e | type_
| Type of object. More...
oyStruct_Copy_f | copy
| Copy function. More...
oyStruct_Release_f | release
| Release function. More...
oyObject_s | oy_
| Oyranos internal object. More...

## Detailed Description

2d data array

oyArray2d_s is a in memory data view. The array2d holds pointers to lines in the original memory blob. The arrays contained in array2d represent the samples. There is no information in which order the samples appear. No pixel layout or meaning is provided. Given the coordinates x and y, a samples memory adress can be accessed by &array2d[y][x] . This adress must be converted to the data type provided in oyArray2d_s::t.

The oyArray2d_s::data pointer should be observed in order to be signaled about its invalidation.

Version
  Oyranos: 0.1.8

Since
  2008/08/23 (Oyranos: 0.1.8)

Date
  2008/08/23

## Member Function Documentation

## ◆ oyArray2d_Copy()

oyArray2d_Copy

Copy or Reference a Array2d object.

The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.

Parameters

  [in] | array2d | Array2d struct object
  | object | NULL - means reference, the optional object triggers a real copy

Referenced by oyPixelAccess_s::oyPixelAccess_GetArray(), and oyPixelAccess_s::oyPixelAccess_SetArray().

## ◆ oyArray2d_Create()

OYAPI oyArray2d_s *OYEXPORT oyArray2d_Create | ( | oyPointer | data,
|  | int | width,
|  | int | height,
|  | oyDATATYPE_e | data_type,
|  | oyObject_s | object
| ) |  |

Allocate and initialise a oyArray2d_s object.

Function oyArray2d_Create

Version
  Oyranos: 0.1.8

Since
  2008/08/23 (Oyranos: 0.1.8)

Date
  2008/08/23

References oy_, oyArray2d_SetData(), oyDataTypeGetSize(), and oyYES.

Referenced by oyImage_s::oyImage_Create().

## ◆ oyArray2d_GetData()

OYAPI oyPointer OYEXPORT oyArray2d_GetData | ( | oyArray2d_s * | obj | ) |

Get the data blob.

Function oyArray2d_GetData

Parameters

  [in,out] | obj | struct object

Returns
  the data, remains in the property of the object

Version
  Oyranos: 0.5.0

Date
  2012/09/25

Since
  2012/09/25 (Oyranos: 0.5.0)

References oyOBJECT_ARRAY2D_S.

## ◆ oyArray2d_GetDataGeo1()

OYAPI double OYEXPORT oyArray2d_GetDataGeo1 | ( | oyArray2d_s * | array,
|  | int | x_y_w_h
| ) |  |

Get Geometry of the data rectangle.

Function oyArray2d_GetDataGeo1

The function informs about reserves and possible offsets.

Parameters

  [in,out] | array | the channels array

Returns
  the position or dimension

Version
  Oyranos: 0.5.0

Date
  2012/10/05

Since
  2012/10/03 (Oyranos: 0.5.0)

References oyRectangle_s::oyRectangle_GetGeo1().

Referenced by oyPixelAccess_s::oyPixelAccess_PixelsToRoi(), oyPixelAccess_s::oyPixelAccess_RoiToPixels(), oyPixelAccess_s::oyPixelAccess_SetArray(), and oyPixelAccess_s::oyPixelAccess_Show().

## ◆ oyArray2d_GetHeight()

OYAPI int OYEXPORT oyArray2d_GetHeight | ( | oyArray2d_s * | array | ) |

Get data Height.

Function oyArray2d_GetHeight

Parameters

  [in,out] | array | the channels array

Returns
  the height

Version
  Oyranos: 0.5.0

Date
  2012/10/05

Since
  2012/10/05 (Oyranos: 0.5.0)

## ◆ oyArray2d_GetType()

OYAPI oyDATATYPE_e OYEXPORT oyArray2d_GetType | ( | oyArray2d_s * | array | ) |

Get data Type.

Function oyArray2d_GetType

Parameters

  [in,out] | array | the channels array

Returns
  the data type

Version
  Oyranos: 0.9.0

Date
  2012/10/11

Since
  2012/10/11 (Oyranos: 0.9.0)

## ◆ oyArray2d_GetWidth()

OYAPI int OYEXPORT oyArray2d_GetWidth | ( | oyArray2d_s * | array | ) |

Get data Width.

Function oyArray2d_GetWidth

Parameters

  [in,out] | array | the channels array

Returns
  the width

Version
  Oyranos: 0.5.0

Date
  2012/10/05

Since
  2012/10/05 (Oyranos: 0.5.0)

## ◆ oyArray2d_New()

OYAPI oyArray2d_s *OYEXPORT oyArray2d_New | ( | oyObject_s | object | ) |

allocate a new Array2d object

Function oyArray2d_New

References oyOBJECT_OBJECT_S.

## ◆ oyArray2d_Release()

OYAPI int OYEXPORT oyArray2d_Release | ( | oyArray2d_s ** | array2d | ) |

release and possibly deallocate a oyArray2d_s object

Function oyArray2d_Release

Parameters

  [in,out] | array2d | Array2d struct object

References oyOBJECT_ARRAY2D_S.

Referenced by oyPixelAccess_s::oyPixelAccess_SetArray().

## ◆ oyArray2d_Reset()

OYAPI int OYEXPORT oyArray2d_Reset | ( | oyArray2d_s * | array,
|  | int | width,
|  | int | height,
|  | oyDATATYPE_e | data_type
| ) |  |

Reinitialise Array.

Function oyArray2d_Reset

Version
  Oyranos: 0.9.0

Since
  2012/10/20 (Oyranos: 0.9.0)

Date
  2012/10/20

References oy_, oyDataTypeGetSize(), and oyOBJECT_ARRAY2D_S.

## ◆ oyArray2d_SetData()

OYAPI int OYEXPORT oyArray2d_SetData | ( | oyArray2d_s * | obj,
|  | oyPointer | data
| ) |  |

Set the data blob and (re-)initialise the object.

Function oyArray2d_SetData

Parameters

  [in,out] | obj | struct object
  [in] | data | the data, remains in the property of the caller

Version
  Oyranos: 0.1.8

Since
  2008/08/23 (Oyranos: 0.1.8)

Date
  2008/08/23

References oyOBJECT_ARRAY2D_S.

Referenced by oyArray2d_Create().

## ◆ oyArray2d_SetFocus()

int oyArray2d_SetFocus | ( | oyArray2d_s * | array,
|  | oyRectangle_s * | rectangle
| ) |  |

Move a arrays active area to a given rectangle.

Function oyArray2d_SetFocus

The array works in absolute coordinates. For working in relative coordinates get first the current data_area by oyArray2d_GetDataGeo1().

Parameters

  [in,out] | array | the channels array
  [in] | rectangle | the new region in the array's wholes data

Returns
  0 - success, 1 - error, -1 - focus changed

Version
  Oyranos: 0.9.6

Date
  2016/09/15

Since
  2011/04/19 (Oyranos: 0.3.0)

References oy_debug, and oyDataTypeGetSize().

Referenced by oyPixelAccess_s::oyPixelAccess_SetArrayFocus().

## ◆ oyArray2d_SetRows()

OYAPI int OYEXPORT oyArray2d_SetRows | ( | oyArray2d_s * | obj,
|  | oyPointer * | rows,
|  | int | do_copy
| ) |  |

Set the data and (re-)initialise the object.

Function oyArray2d_SetRows

Parameters

  [in,out] | obj | struct object
  [in] | data | the data
  [in] | do_copy | - 0 : take the memory as is 1 : copy the memory monolithic 2 : copy the memory chunky

Version
  Oyranos: 0.1.11

Since
  2010/09/07 (Oyranos: 0.1.11)

Date
  2010/09/07

References oyDataTypeGetSize(), and oyOBJECT_ARRAY2D_S.

## ◆ oyArray2d_Show()

OYAPI const char *OYEXPORT oyArray2d_Show | ( | oyArray2d_s * | array,
|  | int | channels
| ) |  |

Print array geometries.

Function oyArray2d_Show

This function is not thread safe.

Parameters

  [in] | array | the channel array

Returns
  a description string

Version
  Oyranos: 0.9.6

Date
  2016/09/29

Since
  2016/09/26 (Oyranos: 0.9.6)

Referenced by oyImage_s::oyImage_FillArray().

## Field Documentation

## ◆ copy

oyStruct_Copy_f oyArray2d_s::copy

Copy function.

## ◆ oy_

oyObject_s oyArray2d_s::oy_

Oyranos internal object.

Features name and hash. Do not change during object life time.

Referenced by oyArray2d_Create(), and oyArray2d_Reset().

## ◆ release

oyStruct_Release_f oyArray2d_s::release

Release function.

## ◆ type_

const oyOBJECT_e oyArray2d_s::type_

Type of object.

The struct type tells Oyranos how to interprete hidden fields.