public static void nk_textedit_layout_row(nk_text_edit_row *r, nk_text_edit edit, int line_start_id, float row_height,
                                                  NkUserFont font)
        {
            int   glyphs = (int)(0);
            char *remaining;
            int   len = (int)(edit._string_.Len);

            fixed(char *str2 = edit._string_.Str)
            {
                char *end = str2 + len;

                char * text = str2 + line_start_id;
                NkVec2 size =
                    (NkVec2)
                    (nk_text_calculate_text_bounds(font, text, (int)(end - text), (float)(row_height), &remaining, null, &glyphs,
                                                   true));

                r->x0 = (float)(0.0f);
                r->x1 = (float)(size.x);
                r->baseline_y_delta = (float)(size.y);
                r->ymin             = (float)(0.0f);
                r->ymax             = (float)(size.y);
                r->num_chars        = (int)(glyphs);
            }
        }
Ejemplo n.º 2
0
        public static void nk_textedit_layout_row(nk_text_edit_row *r, nk_text_edit edit, int line_start_id, float row_height,
                                                  nk_font font)
        {
            int           glyphs = (int)(0);
            StringSegment remaining;
            int           len = (int)(edit.Text.len);

            StringSegment str2 = edit.Text.str;

            StringSegment text = str2 + line_start_id;

            Vector2 out_offset;
            Vector2 size = (font.nk_text_calculate_text_bounds(text, (float)(row_height), out remaining, out out_offset, out glyphs,
                                                               (int)(NK_STOP_ON_NEW_LINE)));

            r->x0 = (float)(0.0f);
            r->x1 = (float)(size.X);
            r->baseline_y_delta = (float)(size.Y);
            r->ymin             = (float)(0.0f);
            r->ymax             = (float)(size.Y);
            r->num_chars        = (int)(glyphs);
        }