Git Product home page Git Product logo

kiui's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kiui's Issues

CMake error in: CHECK_INCLUDE_FILES(dirent.h HAVE_DIRENT_API)

Hello,

When i try to generate the src files in CMake i cant get over the check for dirent.h
I get this error message:

CMake Error at src/CMakeLists.txt:46 (message):
  MSVC has no support for Dirent API, please include the header manually.
  See: http://www.softagalleria.net/dirent.php

I placed the dirent.h header file in "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include"
But it seems that CMake does not see it.

I was able to point CMake to the GLFW_INCLUDE and GLFW_LIBRARYS directly in the CMake UI
So i guess they are okay.

But i dont understand what to change in the CMakeLists.txt to make it pass the dirent.h check.

I tryd this:
set(CMAKE_REQUIRED_INCLUDES "C:/Program\ Files\ (x86)/Microsoft\ Visual\ Studio\ 14.0/VC/include")

And this:
include_directories("C:/Program\ Files\ (x86)/Microsoft\ Visual\ Studio\ 14.0/VC/include")

But without success.
Thankful for any help. :)

Gcc warns about MK_OBJECT_EXPORT macro

/home/alexey/dev/src/kiui/src/Object/Iterable/mkStoreObserver.h:48: warning: type attributes ignored after type is already defined [-Wattributes]
template class MK_OBJECT_EXPORT StoreObserver;
^

Examples Failed in Visual studio 2013

the kiui is compiled fine but the examples do not

1>------ Build started: Project: kiui_example, Configuration: Debug Win32 ------
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall mk::UiWindow::init(void)" (__imp_?init@UiWindow@mk@@QAEXXZ) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class mk::RootForm & __thiscall mk::UiWindow::rootForm(void)" (__imp_?rootForm@UiWindow@mk@@QAEAAVRootForm@2@XZ) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl mk::createUiTest(class mk::Form &)" (__imp_?createUiTest@mk@@YAXAAVForm@1@@Z) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall mk::GlWindow::GlWindow(unsigned int,unsigned int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (__imp_??0GlWindow@mk@@QAE@IIV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall mk::GlWindow::~GlWindow(void)" (__imp_??1GlWindow@mk@@QAE@XZ) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class mk::UiWindow & __thiscall mk::GlWindow::uiWindow(void)" (__imp_?uiWindow@GlWindow@mk@@QAEAAVUiWindow@2@XZ) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall mk::GlWindow::initContext(void)" (__imp_?initContext@GlWindow@mk@@QAEXXZ) referenced in function _main
1>example_nanovg.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __thiscall mk::GlWindow::renderFrame(void)" (__imp_?renderFrame@GlWindow@mk@@QAE_NXZ) referenced in function _main
1>G:\dev\cpp\2d\kiui\kiui\build\example\Debug\kiui_example.exe : fatal error LNK1120: 8 unresolved externals
========== Build: 0 succeeded, 1 failed, 2 up-to-date, 0 skipped ==========

linuxmint failed to build

  • clone repo
  • git submodule update --init --recursive
  • mkdir build
  • cd build
  • cmake ..
  • cmake --build . --config Release or make

Produces below error

from /home/yash/projects/gui/kiui/sub/toyobj/src/toyobj/Store/Store.h:10:0,
from /home/yash/projects/gui/kiui/sub/toyobj/src/toyobj/Store/Array.h:10,
from /home/yash/projects/gui/kiui/sub/toyobj/src/toyobj/Procedure.h:10,
from /home/yash/projects/gui/kiui/sub/toyobj/src/toyobj/Procedure.cpp:5:
/home/yash/projects/gui/kiui/sub/toyobj/src/toyobj/Iterable/Iterable.h:46:195: error: invalid initialization of non-const reference of type ‘toy::Lref&’ from an rvalue of type ‘toy::Lref’
onst { this->iterate([callback, &type = this->elementType()](TypeObject& object) { return callback(Lref(object, object.type())); }); }
^
sub/toyobj/src/CMakeFiles/toyobj.dir/build.make:86: recipe for target 'sub/toyobj/src/CMakeFiles/toyobj.dir/toyobj/Procedure.cpp.o' failed
make[2]: *** [sub/toyobj/src/CMakeFiles/toyobj.dir/toyobj/Procedure.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'sub/toyobj/src/CMakeFiles/toyobj.dir/all' failed
make[1]: *** [sub/toyobj/src/CMakeFiles/toyobj.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

startup rendering erros

There is no rounded windows' edges before style switching. Moreover, other things are broken. Such scrollbar in "Filtered List" demo.

You can see some from videos in:

  • black background in #15
  • no scrollbar in "Filtered List" demo #14

Regards, Alexey Knyshev

example target name

Please, change example target name to something like kiui_example. Due to possible naming collision and easy lookup (default /usr/local/bin/example is not self-explaining. )

Example app rendering error

I have compiled kiui on linux (debian).
And started example app.
Here is an screenshoot of glfw window:
example_rendering_error

libyaml:

Package: libyaml-dev
Section: libdevel
Installed-Size: 225
Architecture: amd64
Multi-Arch: same
Version: 0.1.6-3

glfw3:

Package: libglfw3-dev
Installed-Size: 138
Architecture: amd64
Multi-Arch: same
Source: glfw3
Version: 3.0.4-1
Depends: libglfw3 (= 3.0.4-1), mesa-common-dev, libglu1-mesa-dev | libglu-dev

glxinfo:

name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
GL_3DFX_texture_compression_FXT1, GL_AMD_conservative_depth,
GL_AMD_draw_buffers_blend, GL_AMD_performance_monitor,
GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_trinary_minmax,
GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_object_purgeable, GL_ARB_ES2_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_base_instance,
GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_compressed_texture_pixel_storage,
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output,
GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_derivative_control,
GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect,
GL_ARB_draw_instanced, GL_ARB_explicit_attrib_location,
GL_ARB_explicit_uniform_location, GL_ARB_fragment_coord_conventions,
GL_ARB_fragment_shader, GL_ARB_framebuffer_object,
GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_gpu_shader5,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex,
GL_ARB_instanced_arrays, GL_ARB_internalformat_query,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object, GL_ARB_point_sprite,
GL_ARB_provoking_vertex, GL_ARB_robustness, GL_ARB_sample_shading,
GL_ARB_sampler_objects, GL_ARB_seamless_cube_map,
GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects,
GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding,
GL_ARB_shader_objects, GL_ARB_shader_texture_lod,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing,
GL_ARB_sync, GL_ARB_texture_buffer_object,
GL_ARB_texture_buffer_object_rgb32, GL_ARB_texture_buffer_range,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map_array, GL_ARB_texture_float,
GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_storage, GL_ARB_texture_storage_multisample,
GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query,
GL_ARB_transform_feedback2, GL_ARB_transform_feedback3,
GL_ARB_transform_feedback_instanced, GL_ARB_uniform_buffer_object,
GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ATI_blend_equation_separate,
GL_ATI_texture_float, GL_EXT_abgr, GL_EXT_blend_equation_separate,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled,
GL_EXT_framebuffer_sRGB, GL_EXT_packed_depth_stencil, GL_EXT_packed_float,
GL_EXT_pixel_buffer_object, GL_EXT_provoking_vertex,
GL_EXT_shader_integer_mix, GL_EXT_texture_array,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode,
GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback,
GL_EXT_vertex_array_bgra, GL_IBM_multimode_draw_arrays,
GL_INTEL_performance_query, GL_KHR_debug, GL_MESA_pack_invert,
GL_MESA_texture_signed_rgba, GL_NV_conditional_render, GL_NV_depth_clamp,
GL_NV_packed_depth_stencil, GL_OES_EGL_image, GL_OES_read_format,
GL_S3_s3tc

OpenGL version string: 3.0 Mesa 10.3.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
GL_3DFX_texture_compression_FXT1, GL_AMD_conservative_depth,
GL_AMD_draw_buffers_blend, GL_AMD_performance_monitor,
GL_AMD_seamless_cubemap_per_texture, GL_AMD_shader_trinary_minmax,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_object_purgeable, GL_APPLE_packed_pixels,
GL_APPLE_vertex_array_object, GL_ARB_ES2_compatibility,
GL_ARB_ES3_compatibility, GL_ARB_blend_func_extended,
GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture,
GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_debug_output,
GL_ARB_depth_buffer_float, GL_ARB_depth_clamp, GL_ARB_depth_texture,
GL_ARB_derivative_control, GL_ARB_draw_buffers, GL_ARB_draw_buffers_blend,
GL_ARB_draw_elements_base_vertex, GL_ARB_draw_instanced,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_program,
GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,
GL_ARB_framebuffer_object, GL_ARB_framebuffer_sRGB,
GL_ARB_get_program_binary, GL_ARB_half_float_pixel,
GL_ARB_half_float_vertex, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_invalidate_subdata,
GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multi_bind,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex,
GL_ARB_robustness, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counters,
GL_ARB_shader_bit_encoding, GL_ARB_shader_objects,
GL_ARB_shader_texture_lod, GL_ARB_shading_language_100,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_packing,
GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp,
GL_ARB_texture_compression, GL_ARB_texture_compression_bptc,
GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map,
GL_ARB_texture_cube_map_array, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_storage, GL_ARB_texture_storage_multisample,
GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query,
GL_ARB_transform_feedback2, GL_ARB_transform_feedback3,
GL_ARB_transform_feedback_instanced, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers,
GL_ATI_separate_stencil, GL_ATI_texture_env_combine3,
GL_ATI_texture_float, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,
GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array,
GL_EXT_copy_texture, GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_multisample_blit_scaled,
GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB,
GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_float, GL_EXT_packed_pixels,
GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shader_integer_mix, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side,
GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_array, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_integer, GL_EXT_texture_lod_bias, GL_EXT_texture_object,
GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode,
GL_EXT_texture_shared_exponent, GL_EXT_texture_snorm,
GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback,
GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_INTEL_performance_query, GL_KHR_debug, GL_MESA_pack_invert,
GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NV_blend_square,
GL_NV_conditional_render, GL_NV_depth_clamp, GL_NV_light_max_exponent,
GL_NV_packed_depth_stencil, GL_NV_primitive_restart,
GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
GL_NV_texture_rectangle, GL_OES_EGL_image, GL_OES_read_format,
GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.3.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.0
OpenGL ES profile extensions:
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_texture_max_level, GL_EXT_blend_minmax,
GL_EXT_color_buffer_float, GL_EXT_discard_framebuffer,
GL_EXT_map_buffer_range, GL_EXT_multi_draw_arrays,
GL_EXT_read_format_bgra, GL_EXT_separate_shader_objects,
GL_EXT_shader_integer_mix, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_format_BGRA8888,
GL_EXT_texture_rg, GL_EXT_texture_type_2_10_10_10_REV,
GL_EXT_unpack_subimage, GL_INTEL_performance_query, GL_NV_draw_buffers,
GL_NV_fbo_color_attachments, GL_NV_read_buffer, GL_OES_EGL_image,
GL_OES_EGL_image_external, GL_OES_compressed_ETC1_RGB8_texture,
GL_OES_depth24, GL_OES_depth_texture, GL_OES_depth_texture_cube_map,
GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
GL_OES_get_program_binary, GL_OES_mapbuffer, GL_OES_packed_depth_stencil,
GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_stencil8,
GL_OES_surfaceless_context, GL_OES_texture_3D, GL_OES_texture_npot,
GL_OES_vertex_array_object

Problems compiling example in MinGW

Hi, My build was good for the most part but the linking process throws an error. I have successfully pointed the include path and lib (glfw*.a) for GLFW. I'm using MinGW on both glfw and kiui cmake builds

Any ideas?

unable to build with cmake

cmake shows error
"CMake Error at sub/toyobj/src/CMakeLists.txt:38 (set_target_properties):
set_target_properties Can not find target to add properties to: toyobj

[...]
CMake Error at src/CMakeLists.txt:66 (message):
MSVC has no support for Dirent API, please include the header manually.
See: http://www.softagalleria.net/dirent.php"

The last one, I can manually add the path to visual studio, (but it would be better included in the desktop git relation so it fetches it with the others).
Anyway the solution ends badly formed as the emscripten is missing and the nvgl is not properly setup.
I'm unable to build this project on Visual Studio 2015.

Any idea? Do fetch->cmake->compile work for you guys?

toyui_example fails to work properly on HEAD 6461a83

We're looking for a new GUI system and would love to try out this one. Unfortunately, the example as built doesn't work properly.

The only clickable element is the gear menu near the bottom (dropdowns do not open); the window is also not draggable although the cursor indicates it can be dragged. Also, the GLFW close button event doesn't seem to be listened to any longer, and I have to ^C out of the example.

Who to use with own/higher opengl Context?

Hi I want to use your libaray for a small Projekt.
But I need an OpenGL 3.3 Context but your UI only seem to work with an OpenGL 2.0
So who could I use an newer context or is that not intented?

Sincerly Wasabi2007

Crash on kiui_example startup

gdb bt:

0 mk::Dockbar::vappend mkDockbar.cpp 56 0x7ffff7a2aa5d
1 mk::Sheet::emplace<mk::StyleEdit, mk::Styler&> mkSheet.h 54 0x7ffff7ac54fa
2 mk::createUiStyleEdit mkUiExample.cpp 478 0x7ffff7abb70a
3 mk::createUiTest mkUiExample.cpp 551 0x7ffff7abbea8
4 main example.cpp 36 0x41e192

in Dockbar::vappend(unique_ptr widget)
widget param is null

Maybe something wrong with make_unique from mkMake.h (case STD_NO_MAKE_UNIQUE)

Crashes commit: 7435e09
Not buildable: b3c658e
------------------| 2521e35
------------------| ceb8b33
Last ok commit: 5c92d92

Regards, Alexey Knyshev

[Emscripten] graphical glitches and other minor bugs

While testing the web version, I encountered some bugs:

  • mouse scrolling directions are inverted
  • tab selectors highlight the wrong label, working somehow like a togglebutton
  • turbo-badger has the number in the slider line
  • in the customized item list, under circumstances the item closing cross is drawn at the titlebar of the window

File Browser demo crash

Crash in readdir (DIR * is NULL)

See video:
https://www.youtube.com/watch?v=qBnX-q7Rm_Y

gdb bt:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5b18786 in _readdir (dirp=0x0) at ../sysdeps/posix/readdir.c:44
44 ../sysdeps/posix/readdir.c: Нет такого файла или каталога.
(gdb) bt
0 0x00007ffff5b18786 in readdir (dirp=0x0) at ../sysdeps/posix/readdir.c:44
1 0x00007ffff7a0e076 in mk::Directory::update() () from /usr/local/lib/libkiui.so
2 0x00007ffff7a0e16b in mk::Directory::setLocation(std::string const&) () from /usr/local/lib/libkiui.so
3 0x00007ffff7a0e1c7 in mk::Directory::moveIn(std::string const&) () from /usr/local/lib/libkiui.so
4 0x00007ffff7a0dc0b in mk::Dir::trigger() () from /usr/local/lib/libkiui.so
5 0x00007ffff7a13068 in mk::WrapButton::leftClick(float, float) () from /usr/local/lib/libkiui.so
6 0x00007ffff7a06f16 in mk::Widget::mouseReleased(float, float, mk::MouseButton) ()
from /usr/local/lib/libkiui.so
7 0x00007ffff7a0bd4a in mk::RootSheet::mouseReleased(float, float, mk::MouseButton) ()
from /usr/local/lib/libkiui.so
8 0x00007ffff7ac6a83 in mk::UiWindow::dispatchMouseReleased(float, float, mk::MouseButton) ()
from /usr/local/lib/libkiui.so
9 0x00007ffff7abdc74 in mk::GlWindow::injectMouseButton(int, int, int) () from /usr/local/lib/libkiui.so
10 0x00007ffff7abd1f9 in mk::GlWindow::initContext()::{lambda(GLFWwindow
, int, int, int)%3}::operator()(GLFWwindow
, int, int, int) const () from /usr/local/lib/libkiui.so
11 0x00007ffff7abd22e in mk::GlWindow::initContext()::{lambda(GLFWwindow
, int, int, int)%3}::FUN(GLFWwindow, int, int, int) () from /usr/local/lib/libkiui.so
12 0x00007ffff663c660 in ?? () from /usr/lib/x86_64-linux-gnu/libglfw.so.3
13 0x00007ffff7abd8af in mk::GlWindow::renderFrame() () from /usr/local/lib/libkiui.so
14 0x000000000041e1a7 in main ()

Just a question re: the current status of kiUi

Hi there,

I have just come across this GUI library, and I have some interest in putting it on a try.
But looking at the activity around it, it seems that was nothing for almost a year.

My question would be if this library is still under 'some' active development or has been discontinued? What's its future?
Thanks.

Virgiliu

[feature request] source code widget

Something that is really missing in existing game GUI widget sets so far is a source code editor component with line numbers and being able to define parsers for syntax highlighting as plugins or by something like User Defined Language from Notepad++.

Use case is scripting in game editors. For example, games like TSC would preferably have that instead some normal text box.

Rendering errors

Screenshots from emscripten demo
1. No round corners:
progress_bar_rounded_edge_error

2. Wrong background rect:
menu_background_rendering_error

3.Something wrong with "Photoshop" theme:
photoshop_theme_bug

4.Switching themes brings elements position error
Reproduce, select Window demo and switch from "Blendish" to "Turbo" theme:
switching_from_blendish_to_turbo
Recreating window (select Window demo, which creates new kiui v0.1 titled window mostly eliminates error):
photoshop_theme_bug_2

Filtered demo crash 2

Crash when reproducing with sequence:
open Filtered List demo -> put * as filter -> clear filter by backspace -> click on the right side of TypeIn (which makes cursor to move by one symbol to right size) -> press Enter -> craaaash
https://www.youtube.com/watch?v=mEw4YkeA54o
(don't forget about enabling anotations, all my videos use anotations)

gdb backtrace:

(gdb) bt
0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:152
1 0x00007ffff63e404d in copy (__n=18446744073709282239, __s2=, __s1=)
at /scratch/packages/gcc/4.9/gcc-4.9-4.9.2/build/x86_64-linux-gnu/libstdc++-v3/include/bits/char_traits.h:275
2 _M_copy (__n=18446744073709282239, __s=, __d=)
at /scratch/packages/gcc/4.9/gcc-4.9-4.9.2/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.h:361
3 std::string::_M_mutate (this=this@entry=0xff5aa0, __pos=__pos@entry=269377, __len1=,
__len2=__len2@entry=1)
at /scratch/packages/gcc/4.9/gcc-4.9-4.9.2/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:484
4 0x00007ffff63e4394 in std::string::_M_replace_aux (this=0xff5aa0, __pos1=269377, __n1=, __n2=1,
__c=)
at /scratch/packages/gcc/4.9/gcc-4.9-4.9.2/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:672
5 0x00007ffff63e4482 in std::string::insert (this=0xff5aa0, __p=..., __c=)
at /scratch/packages/gcc/4.9/gcc-4.9-4.9.2/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.h:1359
6 0x00007ffff79fe378 in mk::TypeIn::insert (this=0xff5a40, c=10 '\n')
at /home/alexey/dev/src/kiui/src/Ui/Widget/mkTypeIn.cpp:92
7 0x00007ffff79fe893 in mk::TypeIn::keyDown (this=0xff5a40, code=mk::KC_RETURN, c=0 '\000')
at /home/alexey/dev/src/kiui/src/Ui/Widget/mkTypeIn.cpp:149
8 0x00007ffff7a0b8ea in mk::RootSheet::keyDown (this=0xe74b80, code=mk::KC_RETURN, c=0 '\000')
at /home/alexey/dev/src/kiui/src/Ui/Widget/mkRootSheet.cpp:144
9 0x00007ffff7ac6a2e in mk::UiWindow::dispatchKeyPressed (this=0xe4f7b0, key=mk::KC_RETURN, c=0 '\000')
at /home/alexey/dev/src/kiui/src/Ui/mkUiWindow.cpp:129
10 0x00007ffff7abdbb6 in mk::GlWindow::injectKey (this=0x7fffffffdf30, key=257, scancode=36, action=1, mods=0)
at /home/alexey/dev/src/kiui/src/Ui/Nano/mkGlWindow.cpp:324
11 0x00007ffff7abcfe7 in mk::GlWindow::<lambda(GLFWwindow*, int, int, int, int)>::operator()(GLFWwindow _, int, int, int, int) const (_closure=0x0, w=0x650bf0, key=257, scancode=36, action=1, mods=0)
at /home/alexey/dev/src/kiui/src/Ui/Nano/mkGlWindow.cpp:205
12 0x00007ffff7abd026 in mk::GlWindow::<lambda(GLFWwindow
, int, int, int, int)>::_FUN(GLFWwindow *, int, int, int, int) () at /home/alexey/dev/src/kiui/src/Ui/Nano/mkGlWindow.cpp:205
13 0x00007ffff663c3a4 in ?? () from /usr/lib/x86_64-linux-gnu/libglfw.so.3
14 0x00007ffff7abd797 in mk::GlWindow::renderFrame (this=0x7fffffffdf30)
at /home/alexey/dev/src/kiui/src/Ui/Nano/mkGlWindow.cpp:275
15 0x000000000041e1a7 in main (argc=1, argv=0x7fffffffe0c8) at /home/alexey/dev/src/kiui/example/example.cpp:44

Regards, Alexey Knyshev

Valgrind report #1

Hi, I've run valgrind memory analyzer on kiui_example. Everything below may be missdetected problems.
There are some interesting places to check:

  1. Once on startup:

    Source and destination overlap in memcpy(0xeca1370, 0xeca1370, 2016)
    in nvg__drawListRenderTriangles at /home/alexey/dev/src/kiui/src/Ui/Nano/nanovg/nanovg.c:625

    1: memcpy@@GLIBC_2.14 в /mnt/valgrind-3.10.0/memcheck/../shared/vg_replace_strmem.c:915
    2: nvg__drawListRenderTriangles в /home/alexey/dev/src/kiui/src/Ui/Nano/nanovg/nanovg.c:625
    3: nvg__renderText в /home/alexey/dev/src/kiui/src/Ui/Nano/nanovg/nanovg.c:2914
    4: nvgText в /home/alexey/dev/src/kiui/src/Ui/Nano/nanovg/nanovg.c:2991
    5: mk::NanoInk::redrawText() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoInk.cpp:367
    6: mk::NanoInk::drawText() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoInk.cpp:273
    7: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:222
    8: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    9: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    10: mk::NanoLayer::nanodraw() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:207
    11: mk::NanoTarget::nanodraw() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:240
    12: mk::NanoWindow::nextFrame(double, double) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:293
    13: mk::GlWindow::renderFrame() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkGlWindow.cpp:265
    14: main в /home/alexey/dev/src/kiui/example/example.cpp:44

  2. Running example long time, error reported on exit:

    8,064 bytes in 168 blocks are definitely lost in loss record 127 of 129
    in nvgCreateDisplayList at /home/alexey/dev/src/kiui/src/Ui/Nano/nanovg/nanovg.c:636

    1: malloc в /mnt/valgrind-3.10.0/coregrind/m_replacemalloc/vg_replace_malloc.c:296
    2: nvgCreateDisplayList в /home/alexey/dev/src/kiui/src/Ui/Nano/nanovg/nanovg.c:636
    3: mk::NanoInk::drawText() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoInk.cpp:270
    4: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:222
    5: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    6: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    7: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    8: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    9: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    10: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    11: mk::NanoLayer::drawText(mk::Frame&) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:227
    12: mk::NanoLayer::nanodraw() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:207
    13: mk::NanoTarget::nanodraw() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:240
    14: mk::NanoWindow::nextFrame(double, double) в /home/alexey/dev/src/kiui/src/Ui/Nano/mkNanoWindow.cpp:293
    15: mk::GlWindow::renderFrame() в /home/alexey/dev/src/kiui/src/Ui/Nano/mkGlWindow.cpp:265
    16: main в /home/alexey/dev/src/kiui/example/example.cpp:44

And such a lot of similar reports about nvgCreateDisplayList

Regards, Alexey Knyshev

Segfault on Ubuntu 14.04

When running the demo app, the outline of a window appears, then it crashes. This is the gdb backtrace:

#0  0x00007ffff556af66 in __readdir (dirp=0x0) at ../sysdeps/posix/readdir.c:44
#1  0x00007ffff7a626b9 in mk::spritesInFolder(NVGcontext*, mk::NanoAtlas&, std::string const&, std::string const&) () from /home/ryan/stuff/kiui/src/libkiui.so
#2  0x00007ffff7a62910 in mk::generateAtlas(NVGcontext*, unsigned long, unsigned long, std::string) () from /home/ryan/stuff/kiui/src/libkiui.so
#3  0x00007ffff7a63eec in mk::NanoWindow::NanoWindow(unsigned long, unsigned long, float, std::string) () from /home/ryan/stuff/kiui/src/libkiui.so
#4  0x00007ffff7a710ff in mk::make_unique<mk::NanoWindow, unsigned int&, unsigned int&, float&, std::string&> () from /home/ryan/stuff/kiui/src/libkiui.so
#5  0x00007ffff7a70399 in mk::GlWindow::initContext() ()
   from /home/ryan/stuff/kiui/src/libkiui.so
#6  0x0000000000412d67 in main ()

Odd textbox behavior in web demo

If I move the cursor to the end of the textbox in the "Text Editor" demo and start typing, everything's OK. If I put a space, the cursor will appear on the next line. Continuing to type will move it back to the correct position...until I enter another space.

Example app hangs on startup

Gdb backtrace of hanged thread. Looks like hang at libkiui.so dynamic lib start:

(gdb) bt

0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38

1 0x00007ffff63e3023 in __cxa_guard_acquire () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6

2 0x00007ffff79c6132 in mk::Type::cls() () from /usr/local/lib/libkiui.so

3 0x00007ffff79c5ebc in mk::Type::Type() () from /usr/local/lib/libkiui.so

4 0x00007ffff79c6150 in mk::Type::cls() () from /usr/local/lib/libkiui.so

5 0x00007ffff79c5ebc in mk::Type::Type() () from /usr/local/lib/libkiui.so

6 0x00007ffff79cf05d in mk::Type& mk::typecls() () from /usr/local/lib/libkiui.so

7 0x00007ffff79d21b8 in mk::Dispatch<mk::ValueWidget, bool&, &(mk::WValue& mk::valueWidget<bool&, mk::Input >(mk::Sheet*, mk::Lref&, bool&))>::Dispatch() () from /usr/local/lib/libkiui.so

8 0x00007ffff79cee44 in __static_initialization_and_destruction_0 () from /usr/local/lib/libkiui.so

9 0x00007ffff79cefb1 in _GLOBAL__sub_I_mkInput.cpp () from /usr/local/lib/libkiui.so

10 0x00007ffff7dea9fa in call_init (l=, argc=argc@entry=1, argv=argv@entry=0x7fffffffe0c8,

env=env@entry=0x7fffffffe0d8) at dl-init.c:78

11 0x00007ffff7deaae3 in call_init (env=0x7fffffffe0d8, argv=0x7fffffffe0c8, argc=1, l=) at dl-init.c:36

12 _dl_init (main_map=0x7ffff7ffe1a8, argc=1, argv=0x7fffffffe0c8, env=0x7fffffffe0d8) at dl-init.c:126

13 0x00007ffff7ddd1ca in _dl_start_user () from /lib64/ld-linux-x86-64.so.2

14 0x0000000000000001 in ?? ()

15 0x00007fffffffe3dc in ?? ()

16 0x0000000000000000 in ?? ()

Lack of documentation on adding kiui to larger cmake project.

Attempting something similar to the following (on a Windows version of cmake):
add_subdirectory(glfw-3.1.1)
add_subdirectory(kiui)
...
target_link_libraries(foo kiui ${OPENGL_LIBRARIES} glfw)

resulting in unresolved external symbols from glfw when trying to build kiui.dll. Have tried to force kiui to build statically, however it keeps failing trying to build kiui.dll.

I was not having this problem when using imgui+glfw, so I think there's something that may need to be improved with KiUi's build process.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.