예제 #1
0
파일: shadow.cpp 프로젝트: KDE/qtcurve
static void
qtcCreateShadowGradient(float *buff, size_t size)
{
    const float r = size / 6.5;
    for (size_t i = 0; i < size; i++) {
        buff[i] = qtcMax(0, expf(-(i / r)) - 0.0015);
    }
}
예제 #2
0
파일: shadow.c 프로젝트: prodigeni/qtcurve
static inline float
_qtcDistance(int x, int y, int x0, int y0, bool square)
{
    int dx = x - x0;
    int dy = y - y0;
    if (dx == 0) {
        return qtcAbs(dy);
    }
    if (dy == 0) {
        return qtcAbs(dx);
    }
    return square ? qtcMax(qtcAbs(dx), qtcAbs(dy)) : sqrtf(dx * dx + dy * dy);
}