{"version":3,"file":"mixColors.mjs","sources":["../../../../src/scene/container/utils/mixColors.ts"],"sourcesContent":["import { mixHexColors } from './mixHexColors';\n\nconst WHITE_BGR = 0xFFFFFF;\n\nexport function mixColors(localBGRColor: number, parentBGRColor: number)\n{\n    if (localBGRColor === WHITE_BGR || parentBGRColor === WHITE_BGR)\n    {\n        return localBGRColor + parentBGRColor - WHITE_BGR;\n    }\n\n    return mixHexColors(localBGRColor, parentBGRColor, 0.5);\n}\n\nexport function mixStandardAnd32BitColors(localColorRGB: number, localAlpha: number, parentColor: number)\n{\n    const parentAlpha = ((parentColor >> 24) & 0xFF) / 255;\n\n    const globalAlpha = ((localAlpha * parentAlpha) * 255);\n\n    // flip rgb to bgr\n    const localBGRColor = ((localColorRGB & 0xFF) << 16) + (localColorRGB & 0xFF00) + ((localColorRGB >> 16) & 0xFF);\n\n    const parentBGRColor = parentColor & 0x00FFFFFF;\n\n    let sharedBGRColor: number;\n\n    if (localBGRColor === WHITE_BGR || parentBGRColor === WHITE_BGR)\n    {\n        sharedBGRColor = localBGRColor + parentBGRColor - WHITE_BGR;\n    }\n    else\n    {\n        sharedBGRColor = mixHexColors(localBGRColor, parentBGRColor, 0.5);\n    }\n\n    return sharedBGRColor + (globalAlpha << 24);\n}\n"],"names":[],"mappings":";;;AAEA,MAAM,SAAY,GAAA,QAAA,CAAA;AAEF,SAAA,SAAA,CAAU,eAAuB,cACjD,EAAA;AACI,EAAI,IAAA,aAAA,KAAkB,SAAa,IAAA,cAAA,KAAmB,SACtD,EAAA;AACI,IAAA,OAAO,gBAAgB,cAAiB,GAAA,SAAA,CAAA;AAAA,GAC5C;AAEA,EAAO,OAAA,YAAA,CAAa,aAAe,EAAA,cAAA,EAAgB,GAAG,CAAA,CAAA;AAC1D,CAAA;AAEgB,SAAA,yBAAA,CAA0B,aAAuB,EAAA,UAAA,EAAoB,WACrF,EAAA;AACI,EAAM,MAAA,WAAA,GAAA,CAAgB,WAAe,IAAA,EAAA,GAAM,GAAQ,IAAA,GAAA,CAAA;AAEnD,EAAM,MAAA,WAAA,GAAgB,aAAa,WAAe,GAAA,GAAA,CAAA;AAGlD,EAAA,MAAM,kBAAkB,aAAgB,GAAA,GAAA,KAAS,OAAO,aAAgB,GAAA,KAAA,CAAA,IAAY,iBAAiB,EAAM,GAAA,GAAA,CAAA,CAAA;AAE3G,EAAA,MAAM,iBAAiB,WAAc,GAAA,QAAA,CAAA;AAErC,EAAI,IAAA,cAAA,CAAA;AAEJ,EAAI,IAAA,aAAA,KAAkB,SAAa,IAAA,cAAA,KAAmB,SACtD,EAAA;AACI,IAAA,cAAA,GAAiB,gBAAgB,cAAiB,GAAA,SAAA,CAAA;AAAA,GAGtD,MAAA;AACI,IAAiB,cAAA,GAAA,YAAA,CAAa,aAAe,EAAA,cAAA,EAAgB,GAAG,CAAA,CAAA;AAAA,GACpE;AAEA,EAAA,OAAO,kBAAkB,WAAe,IAAA,EAAA,CAAA,CAAA;AAC5C;;;;"}