def _GradientFillLinear(rect, intial_color, dest_color, direction):
    """
    Reimplement the ``wxDCImpl::DoGradientFillLinear`` algorithm.

    This algorithm can be found in
    ``wxWidgets-3.0.2/src/common/dcbase.cpp``, line 862.

    wxWidgets uses the native MS Windows (msw) function if it can:
        wxMSIMG32DLL.GetSymbol(wxT("GradientFill")

    See function ``wxMSWDCImpl::DoGradientFillLinear`` in
    wxWidgets-3.0.2/src/msw/dc.cpp, line 2870

    Allows user to put in a value from 0 (intial_color) to 1 (dest_color).

    What will this function return? I do not know yet.

    There's not really a struct for a "continuous gradient"...

    I think that perhaps this function will just calculate the color for
    a given 0-1 value between initial_color and dest_color on the fly.

    I'm an idiot! This is just linear algebra, I can solve this!
    """
    pass
