promotional bannermobile promotional banner

Krowi's Progress Bar

A progress bar library for displaying multi-segment bars with up to 4 stacked values and customizable colors, including GameTooltip integration

A reusable progress bar library for World of Warcraft addon development that can display up to 4 different values and colors in a single progress bar.

Features

Progress Bar Library (Krowi_ProgressBar)

  • Multi-Value Display: Show up to 4 different values with individual colors in a single progress bar
  • Flexible Styling: Customizable colors for each value segment
  • Easy Integration: Simple API for quick implementation
  • LibStub Support: Standard LibStub library structure for dependency management

Game Tooltip Integration (Krowi_GameTooltipWithProgressBar)

  • Tooltip Progress Bars: Easily add progress bars to game tooltips
  • Automatic Management: Automatically handles tooltip show/hide events
  • Flexible Positioning: Automatically positions within tooltips

Usage Examples

Basic Progress Bar

local ProgressBarLib = LibStub("Krowi_ProgressBar")
local progressBar = ProgressBarLib:GetNew(parentFrame)

progressBar:SetMinMaxValues(0, 100)
progressBar:SetValues(50, 25, 15, 10)  -- Four segments
progressBar:SetColors(
    {R = 0, G = 1, B = 0},  -- Green
    {R = 1, G = 1, B = 0},  -- Yellow
    {R = 1, G = 0.5, B = 0}, -- Orange
    {R = 1, G = 0, B = 0}   -- Red
)
progressBar:UpdateTextures()
progressBar:Show()

Tooltip Integration

local TooltipProgressBar = LibStub("Krowi_GameTooltipWithProgressBar-2.0")

-- Add progress bar to tooltip
TooltipProgressBar:Show(
    GameTooltip,
    0, 100,           -- min, max
    50, 25, 15, 10,   -- value1, value2, value3, value4
    {R = 0, G = 1, B = 0},  -- color1 (green)
    {R = 1, G = 1, B = 0},  -- color2 (yellow)
    {R = 1, G = 0.5, B = 0}, -- color3 (orange)
    {R = 1, G = 0, B = 0},  -- color4 (red)
    "Progress: 100/100"      -- text label
)

API Reference

Krowi_ProgressBar

Creating a Progress Bar

local ProgressBarLib = LibStub("Krowi_ProgressBar")
local progressBar = ProgressBarLib:GetNew(parentFrame)

Progress Bar Functions

Function Parameters Description
GetNew(parent) parent (frame, optional) Creates a new progress bar frame. Parent defaults to UIParent
SetMinMaxValues(min, max) min (number), max (number) Sets the minimum and maximum values for the progress bar scale
SetValues(v1, v2, v3, v4) v1, v2, v3, v4 (numbers) Sets up to 4 values to display as stacked segments
SetColors(c1, c2, c3, c4) c1, c2, c3, c4 (color tables) Sets colors for each segment. Color format: {R=r, G=g, B=b} (0-1 range)
UpdateTextures() - Recalculates and redraws the progress bar. Call after changing values or colors
Reset() - Resets all values to 0 and colors to black
AdjustOffsets(x, y) x, y (numbers) Adjusts internal rendering offsets. Default is 4, 5
Show() - Shows the progress bar frame
Hide() - Hides the progress bar frame

Color Format

Colors must be tables with R, G, B keys (values 0-1):

{R = 0, G = 1, B = 0}     -- Green
{R = 1, G = 0, B = 0}     -- Red
{R = 1, G = 1, B = 0}     -- Yellow
{R = 1, G = 0.5, B = 0}   -- Orange

Krowi_GameTooltipWithProgressBar

Tooltip Integration

local TooltipProgressBar = LibStub("Krowi_GameTooltipWithProgressBar")

Tooltip Functions

Function Parameters Description
Show(tooltip, min, max, v1, v2, v3, v4, c1, c2, c3, c4, text) See below Adds and shows a progress bar on the specified tooltip

Show() Parameters:

Parameter Type Description
tooltip frame The tooltip frame (usually GameTooltip)
min number Minimum value for the progress bar scale
max number Maximum value for the progress bar scale
v1, v2, v3, v4 numbers Up to 4 values to display as stacked segments
c1, c2, c3, c4 color tables Colors for each segment (format: {R=r, G=g, B=b})
text string Optional text label to display with the progress bar

Note: The tooltip progress bar automatically hides when the tooltip hides.

Use Cases

  • Achievement progress tracking
  • Quest completion status
  • Multi-currency displays
  • Reputation gains
  • Item quality breakdowns
  • Any scenario requiring visual representation of multiple values

Requirements

  • Krowi_LibMan

The Krowi's Progress Bar Team

profile avatar
Owner
  • 14
    Followers
  • 14
    Projects
  • 2.3M
    Downloads
Donate

More from KrowiView all

  • Krowi's Achievement Filter project image

    Krowi's Achievement Filter

    • 2.1M
    • Addons

    Achievement Filter completely replaces the default Achievements tab and adds several tabs to the Achievement Window that order the achievements by expansion, pvp, events or other curated lists.

    • 2.1M
    • April 22, 2026
    • Addons
    • +2
  • Krowi's Vendorer project image

    Krowi's Vendorer

    • 1.0K
    • Addons

    Manage your inventory when selling to vendors with ignore lists, junk lists, and powerful auto-sell rules

    • 1.0K
    • March 11, 2026
    • Addons
    • +1
  • Krowi's Extended Vendor UI project image

    Krowi's Extended Vendor UI

    • 243.8K
    • Addons

    Extend the Vendor UI by up to 5 rows and 4 columns.

    • 243.8K
    • February 20, 2026
    • Addons
    • +1
  • Krowi's Menu project image

    Krowi's Menu

    • 570
    • Addons

    A lightweight menu library for creating dropdown menus with support for titles, separators, and nested items

    • 570
    • January 24, 2026
    • Addons
  • Krowi's Achievement Filter project image

    Krowi's Achievement Filter

    • 2.1M
    • Addons

    Achievement Filter completely replaces the default Achievements tab and adds several tabs to the Achievement Window that order the achievements by expansion, pvp, events or other curated lists.

    • 2.1M
    • April 22, 2026
    • Addons
    • +2
  • Krowi's Vendorer project image

    Krowi's Vendorer

    • 1.0K
    • Addons

    Manage your inventory when selling to vendors with ignore lists, junk lists, and powerful auto-sell rules

    • 1.0K
    • March 11, 2026
    • Addons
    • +1
  • Krowi's Extended Vendor UI project image

    Krowi's Extended Vendor UI

    • 243.8K
    • Addons

    Extend the Vendor UI by up to 5 rows and 4 columns.

    • 243.8K
    • February 20, 2026
    • Addons
    • +1
  • Krowi's Menu project image

    Krowi's Menu

    • 570
    • Addons

    A lightweight menu library for creating dropdown menus with support for titles, separators, and nested items

    • 570
    • January 24, 2026
    • Addons