Skip to content

henc · User-defined

User-defined color, image, symbol storage and symbol layer

COLORREF hencGetUserColor( EEncColor eco )

Obtain the RGB value corresponding to the S-52 color code in the user’s color table.

EEncColor eco : IN (S-52 color code value)

RGB color value


void hencSetUserColor( EEncColor eco, COLORREF co )

Set the RGB value corresponding to the S-52 color code in the user’s color table.

  • EEncColor eco : IN (S-52 Color code)
  • COLORREF co : IN (RGB color)

None


void hencResetUserColor()

Set all color values in the custom palette to the standard day color palette

None

None


CEncUserImage *hencUserImageNew( const char *fnBmp )

Creates an image from an image file.

const char * fnBmp : IN (Image file name)

  • != NULL : Image Object
  • == NULL : Read Fail

int hencUserImageDelete( CEncUserImage * hui )

Releases the memory of the image object.

  • It must be a value generated by the function.
  • = 0 : Success
  • < 0 : Fail

int hencUserImageDrawAtMapPos( CEncUserImage * hui, double x, double y, double angle = 0, double scale = 1.0)

Draw an image object on the map’s top coordinate.

  • CEncUserImage * hui : IN (Image Object)
  • It must be a value generated by the function.
  • double x : IN (longitude, degree)
  • double y : IN (latitude, degree)
  • double angle : IN (Rotation angle, CW, degree)
  • double scale : IN (Zoom scale)

int hencUserImageDrawAtGlPos( CEncUserImage * hui, double x, double y, double z = 0, double angle = 0, double scale = 1)
  • Specifies z-coordinate
  • CEncUserImage * hui : IN (Image Object)
  • It must be a value generated by the function.
  • double x : IN (GlPos)
  • double y : IN (GlPos)
  • double z : IN (GlPos)
  • double angle : IN (Rotation angle, CW, degree)
  • double scale : IN (Zoom scale)
  • = 0 : Success
  • < 0 : Fail

int hencUsersymbolInit()
  • Initialize a user-defined symbol.
  • Load previously registered user defined symbols into memory.
  • There is no need to call it separately because it is called automatically in the library.

None

  • = 0 : Success
  • < 0 : Fail

void hencUsersymbolClear()
  • Releases the memory occupied by the user-defined symbol.
  • There is no need to call it separately because it is called automatically in the library.

None

None


int hencUsersymbolDel( const char *name )

Delete the user-defined symbol corresponding to the name. At this time, the image file of the directory storing the user-defined symbol is also deleted.

const char * name : IN (Object name, Null-terminated string)

  • = 0 : Success
  • < 0 : Fail
int hencUsersymbolDel( CEncUserImage *img )

Delete the user-defined symbol corresponding to the object pointer. At this time, the image file of the directory storing the custom symbol is also deleted.

CEncUserImage * img : IN (Pointer of user-defined symbol)

  • = 0 : Success
  • < 0 : Fail

int hencUsersymbolAddNewImage( CEncUserImage *imgNew, const char *fname)
  • Register a user-defined symbol.
  • The file can be saved as an image in PNG format in the directory where user defined symbols are stored, and can be used at the next execution.
  • CEncUserImage *imgNew : IN (User-defined image objects)
  • After registering, the library manages the memory directly, so you should not delete or free the memory.
  • const char *name : IN (The name of the custom image object., Null-terminated string)
  • Must be a suitable string as a file name.
  • = 0 : Success
  • < 0 : Fail

int hencUsersymbolAddToMap( CEncUserImage *imgNew, const char *name )
  • Temporarily register with user symbols.
  • In this case, the file is not stored in the user-defined symbol storage directory. Therefore, it can be used only at the time of this execution, and can not be used at the next execution.
  • CEncUserImage *imgNew : IN (User-defined image object)
  • After registering, the library manages the memory directly, so you should not delete or free the memory.
  • const char *name : IN (Name of user-defined image object, Null-terminated string)
  • Must be a suitable string as a file name
  • = 0 : Success
  • < 0 : Fail

int hencUsersymbolGetCount()

The number of registered user defined symbols is obtained.

None

The number of registered user defined symbols


const char * hencUsersymbolGetName( int no )
  • Obtains the name from the number of registered user-defined symbols.
  • The number of the user-defined symbol may be changed when a new symbol is registered or deleted, so the name according to the number must be checked each time.

int no : IN (Symbol number)

  • != NULL : The name of the user-defined image object. (Null-terminated string)
  • == NULL : Fail (Incorrect symbol number)
const char * hencUsersymbolGetName( CEncUserImage *img )

Obtain the symbol name of the object.

CEncUserImage *img : IN (Pointer of Image Object)

  • != NULL : The name of the user-defined image object.
  • == NULL : Fail (Incorrect symbol number)

CEncUserImage * hencUsersymbolGetImage( int no )
  • The name is obtained from the number of registered user-defined symbols.
  • The number of the user-defined symbol may be changed when a new symbol is registered or deleted, so the name according to the number must be checked each time.

int no : IN (심볼 번호)

  • != NULL : Image Object
  • Since the library is an object that manages memory directly, it should not be deleted or freed.
  • == NULL : Fail (Incorrect symbol number)
CEncUserImage *hencUsersymbolGetImage( const char *name )
  • Obtain an object from the name of the user-defined symbol.
  • Since the library is an object that manages memory directly, it should not be deleted or freed.

const char *name : IN (Object name, Null-terminated string)

  • != NULL : Success (Object pointer)
  • == NULL : Fail (Not existed object)

CEncUserObject * hencUserobjAdd( double x, double y, LPCTSTR name )

Add a user symbol on the map.

  • double x : IN (longitude, degree)
  • double y : IN (latitude, degree)
  • const char *name : IN (The name of the symbol registered in the user symbol repository., Null-terminated string)
  • != NULL : Pointer value of a user defined object
  • This object is managed by the library and should not be deleted or freed manually
  • == NULL : Fail
CEncUserObject * hencUserobjAdd( double x, double y, CEncUserImage *img )
  • Adds a user-loaded image to the map.
  • If the image is not registered in the user defined symbol repository, it is not saved at the end of the program because it has no name. Therefore, the next execution will not be restored on the map.
  • double x : IN (longitude, degree)
  • double y : IN (latitude, degree)
  • CEncUserImage *img : IN (Image object pointer)
  • != NULL : Pointer value of a user defined object
  • This object is managed by the library and should not be deleted or freed manually
  • == NULL : Fail

int hencUserobjDel( CEncUserObject *obj )

Delete user symbols on the map. Delete the object using the object pointer obtained when creating the object.

CEncUserObject *obj : IN (object pointer obtained when creating the object.)

  • = 0 : Success (Number of deleted userobj)

  • < 0 : Fail
int hencUserobjDel( CEncUserImage *obj )

Delete user symbols on the map. Deletes symbols at all positions using the image object of the same symbol.

CEncUserImage *obj : IN (User symbol image object)

  • = 0 : Success (Number of deleted userobj)

  • < 0 : Fail
int hencUserobjDel( double x, double y, LPCTSTR name )

Deletes the user-defined symbol with the specified location and the specified name.

  • double x : IN (longitude, degree)
  • double y : IN (latitude, degree)
  • const LPCTSTR : IN (The name of the symbol registered in the symbol repository, Null-terminated string)
  • = 0 : Success (Number of deleted userobj)

  • < 0 : Fail
int hencUserobjDel( const char *name )

Delete user symbols on the map. Deletes symbols at all positions using symbol image objects of the same name.

const char *name : IN (The name of the symbol registered in the symbol repository, Null-terminated string)

  • = 0 : Success (Number of deleted userobj)

  • < 0 : Fail
int hencUserobjDel( double x, double y )

Delete all user-defined symbols at the specified location on the map.

  • double x : IN (longitude, degree)
  • double y : IN (latitude, degree)
  • = 0 : Success (Number of deleted userobj)

  • < 0 : Fail

CEncUserObject * hencUserobjGet( int no )

Returns the object of the no-th user defined symbol.

int no : IN (User object number)

  • != NULL : Pointer value of user-defined object
  • This object is managed by the library and should not be deleted or freed manually
  • == NULL : Fail

int hencUserobjGetCount()

Returns the number of registered user defined symbols.

None

Number of user-defined symbols