void eol_particle_make_point(eolVec3D position, eolVec3D velocity, eolVec3D accel, eolFloat radius, eolVec3D color, eolFloat alpha, eolUint lifetime) { eolParticle *part; part = eol_particle_new(); if (part == NULL)return; eol_vec3d_copy(part->ori.position,position); eol_vec3d_copy(part->vector.position,velocity); eol_vec3d_copy(part->accel.position,accel); eol_vec3d_copy(part->ori.color,color); part->radius = radius; part->ori.alpha = alpha; part->lifetime = lifetime; part->type = eolParticlePoint; }
void eol_component_make_label( eolComponent * component, char * text, eolUint justify, eolInt fontSize, eolBool wordWrap, char * fontName, eolVec3D color, eolFloat alpha ) { eolRect r; eolComponentLabel * label = NULL; if (!component)return; eol_component_label_new(component); label = eol_component_get_label_data(component); if (label == NULL) { return; } label->buffer = g_string_new(text); if (label->buffer == NULL) { eol_logger_message( EOL_LOG_ERROR, "eol_component:Failed to duplicate string for new label\n"); eol_component_label_free(component); return; } if ((fontName != NULL)&&(strlen(fontName) > 0)) { label->font = eol_font_load(fontName,fontSize); r = eol_font_get_bounds_custom(text,label->font); } else { r = eol_font_get_bounds(text,fontSize); } component->bounds.w = r.w; component->bounds.h = r.h; label->justify = justify; label->fontSize = fontSize; label->alpha = alpha; label->wordWrap = wordWrap; eol_vec3d_copy(label->color,color); component->data_free = eol_component_label_free; component->data_draw = eol_component_label_draw; }
eolBool eol_keychain_get_hash_value_as_vec3d(eolVec3D *output, eolKeychain *hash, eolLine key) { eolVec3D temp = {0,0,0}; eolLine keyValue; eolKeychain *chain; if ((!hash) || (!output) || (strlen(key) == 0))return eolFalse; chain = eol_keychain_get_hash_value(hash,key); if (!chain)return eolFalse; if (chain->keyType != eolKeychainString)return eolFalse; eol_line_cpy(keyValue,chain->keyValue); if (sscanf(keyValue,"%lf,%lf,%lf",&temp.x,&temp.y,&temp.z) != 3)return eolFalse; eol_vec3d_copy((*output),temp); return eolTrue; }
void eol_component_make_entry( eolComponent * component, char * output, eolUint outputLimit, eolUint justify, eolUint fontSize, eolBool wordWrap, eolLine fontName, eolVec3D color, eolFloat alpha, eolVec3D bgcolor ) { eolComponentEntry * entry = NULL; if (!component)return; eol_component_entry_new(component); entry = eol_component_get_entry_data(component); if (entry == NULL) { return; } entry->buffer = g_string_new(output); if (entry->buffer == NULL) { eol_logger_message( EOL_LOG_ERROR, "eol_component:Failed to duplicate string for new entry\n"); eol_component_entry_free(component); return; } entry->bufferLimit = outputLimit; entry->justify = justify; entry->fontSize = fontSize; entry->alpha = alpha; entry->wordWrap = wordWrap; eol_vec3d_copy(entry->color,color); component->data_free = eol_component_entry_free; component->data_draw = eol_component_entry_draw; component->data_update = eol_component_entry_update; }
void eol_light_move(eolLight *light,eolVec3D point) { if (!eol_lighting_initialized())return; if (!light)return; eol_vec3d_copy(light->position,point); }