X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=vrfileman;a=blobdiff_plain;f=src%2Ffs.cc;h=d6b5eebf4692c0b41af37fb43d88c61e333a58aa;hp=0da07e53a7cb77bc4782ddc4f408c4bef7206646;hb=33c6d11947cc6299d7b6164b2e65563e38435c74;hpb=eca943b2fb891a01cb4e883c07aad2167a8ac94b diff --git a/src/fs.cc b/src/fs.cc index 0da07e5..d6b5eeb 100644 --- a/src/fs.cc +++ b/src/fs.cc @@ -25,7 +25,7 @@ static dtx_font *fat_font; #define FAT_FONT_SZ 32 -bool init_fs() +bool init_fs(const char *path) { iconrend = new ShapesIcons; if(!iconrend->init()) { @@ -37,7 +37,9 @@ bool init_fs() return false; } - cur_node = get_fsnode(0); + if(!(cur_node = get_fsnode(path))) { + return false; + } cur_node->expand(); return true; } @@ -50,6 +52,7 @@ void cleanup_fs() delete node; } node_cache.clear(); + dtx_close_font(fat_font); delete iconrend; } @@ -72,17 +75,17 @@ static float icon_angle(int col, int ncols, float max_angle = 0.0f) void draw_fs() { - static const float row_spacing = 2.0; - static const float radius = 5; + static const float row_spacing = 0.25; + static const float radius = 0.6; static const float umax = 0.42; static const float max_icon_angle = M_PI * 2.0 * umax; - int max_ncols = std::max(1, umax * 16); + int max_ncols = std::max(1, umax * 12); Mat4 base_xform; base_xform.rotate(time_sec, 0, 0); base_xform.rotate(0, 0, time_sec * 0.5); - base_xform.translate(0, 2, 0); + base_xform.translate(0, 1.65, 0); glUseProgram(0); glDisable(GL_TEXTURE_2D); @@ -115,8 +118,8 @@ void draw_fs() glPushMatrix(); xform = Mat4::identity; xform.translate(-dtx_string_width(node->path.get_name()) / 2.0, 0, 0); - xform.scale(0.01); - xform.translate(0, 1 + row * row_spacing, -radius); + xform.scale(0.001); + xform.translate(0, 1.54 + row * row_spacing, -radius); xform.rotate_y(angle); glMultMatrixf(xform[0]);