Lines Matching refs:ImVector
16 // ImVector<>
1166 // Helper: ImVector<>
1175 struct ImVector
1187 inline ImVector() { Size = Capacity = 0; Data = NULL; }
1188 inline ImVector(const ImVector<T>& src) { Size = Capacity = 0; Data = NULL; operator=(src); }
1189 inline ImVector<T>& operator=(const ImVector<T>& src) { clear(); resize(src.Size); memcpy(Data, src.Data, (size_t)Size * sizeof(T)); return *this; }
1190 inline ~ImVector() { if (Data) ImGui::MemFree(Data); }
1208 inline void swap(ImVector<T>& rhs) { int rhs_size = rhs.Size; rhs.Size = Size; Size = rhs_size; int rhs_cap = rhs.Capacity; rhs.Capacity = Capacity; Capacity = rhs_cap; T* rhs_data = rhs.Data; rhs.Data = Data; Data = rhs_data; }
1215 // NB: It is illegal to call push_back/push_front/insert with a reference pointing inside the ImVector data itself! e.g. v.push_back(v[10]) is forbidden.
1404 ImVector<ImWchar> InputQueueCharacters; // Queue of _characters_ input (obtained by platform back-end). Fill using AddInputCharacter() helper.
1571 IMGUI_API void split(char separator, ImVector<TextRange>* out) const;
1574 ImVector<TextRange> Filters;
1582 ImVector<char> Buf;
1617 ImVector<Pair> Data;
1767 ImVector<ImDrawCmd> CmdBuffer;
1768 ImVector<ImDrawIdx> IdxBuffer;
1800 ImVector<ImDrawCmd> CmdBuffer; // Draw commands. Typically 1 command = 1 GPU draw call, unless the command is a callback.
1801 ImVector<ImDrawIdx> IdxBuffer; // Index buffer. Each command consume ImDrawCmd::ElemCount of those
1802 ImVector<ImDrawVert> VtxBuffer; // Vertex buffer.
1809 ImDrawVert* _VtxWritePtr; // [Internal] point within VtxBuffer.Data after each add command (to avoid using the ImVector<> operators too much)
1810 ImDrawIdx* _IdxWritePtr; // [Internal] point within IdxBuffer.Data after each add command (to avoid using the ImVector<> operators too much)
1811 ImVector<ImVec4> _ClipRectStack; // [Internal]
1812 ImVector<ImTextureID> _TextureIdStack; // [Internal]
1813 ImVector<ImVec2> _Path; // [Internal] current path building
1816 ImVector<ImDrawChannel> _Channels; // [Internal] draw channels for columns API (not resized down so _ChannelsCount may be smaller than _Channels.Size)
1950 ImVector<int> UsedChars; // Store 1-bit per Unicode code point (0=unused, 1=used)
1958 IMGUI_API void BuildRanges(ImVector<ImWchar>* out_ranges); // Output new ranges
2070 ImVector<ImFont*> Fonts; // Hold all the fonts returned by AddFont*. Fonts[0] is the default font upon calling ImGui::NewFrame(), use ImGui::PushFont()/PopFont() to change the current font.
2071 ImVector<CustomRect> CustomRects; // Rectangles for packing custom texture data into the atlas.
2072 ImVector<ImFontConfig> ConfigData; // Internal data
2085 ImVector<float> IndexAdvanceX; // 12-16 // out // // Sparse. Glyphs->AdvanceX in a directly indexable way (cache-friendly for CalcTextSize functions which only this this info, and are often bottleneck in large UI).
2090 ImVector<ImWchar> IndexLookup; // 12-16 // out // // Sparse. Index glyphs by Unicode code-point.
2091 ImVector<ImFontGlyph> Glyphs; // 12-16 // out // // All glyphs.