{"version":3,"file":"fit.mjs","sources":["../../../src/utils/helpers/fit.ts"],"sourcesContent":["import { Container } from 'pixi.js';\n\nexport function fitToView(parent: Container, child: Container, padding = 0, uniformScaling = true)\n{\n    let scaleX = child.scale.x;\n    let scaleY = child.scale.y;\n\n    if (!parent)\n    {\n        throw new Error('Parent is not defined');\n    }\n\n    const maxWidth = parent.width - (padding * 2);\n    const maxHeight = parent.height - (padding * 2);\n\n    const widthOverflow = maxWidth - Math.round(child.width);\n    const heightOverflow = maxHeight - Math.round(child.height);\n\n    if (widthOverflow < 0)\n    {\n        scaleX = maxWidth / (child.width / scaleX);\n    }\n\n    if (heightOverflow < 0)\n    {\n        scaleY = maxHeight / (child.height / scaleY);\n    }\n\n    if (scaleX <= 0 || scaleY <= 0)\n    {\n        child.scale.set(0);\n\n        return;\n    }\n\n    if (uniformScaling || child.scale.x === child.scale.y)\n    {\n        const scale = Math.min(scaleX, scaleY);\n\n        child.scale.set(scale, scale);\n    }\n    else\n    {\n        const ratio = child.scale.x / child.scale.y;\n\n        if (widthOverflow < heightOverflow)\n        {\n            child.scale.set(scaleX, scaleX / ratio);\n        }\n        else\n        {\n            child.scale.set(scaleY * ratio, scaleY);\n        }\n    }\n}\n"],"names":[],"mappings":"AAEO,SAAS,UAAU,MAAmB,EAAA,KAAA,EAAkB,OAAU,GAAA,CAAA,EAAG,iBAAiB,IAC7F,EAAA;AACI,EAAI,IAAA,MAAA,GAAS,MAAM,KAAM,CAAA,CAAA,CAAA;AACzB,EAAI,IAAA,MAAA,GAAS,MAAM,KAAM,CAAA,CAAA,CAAA;AAEzB,EAAA,IAAI,CAAC,MACL,EAAA;AACI,IAAM,MAAA,IAAI,MAAM,uBAAuB,CAAA,CAAA;AAAA,GAC3C;AAEA,EAAM,MAAA,QAAA,GAAW,MAAO,CAAA,KAAA,GAAS,OAAU,GAAA,CAAA,CAAA;AAC3C,EAAM,MAAA,SAAA,GAAY,MAAO,CAAA,MAAA,GAAU,OAAU,GAAA,CAAA,CAAA;AAE7C,EAAA,MAAM,aAAgB,GAAA,QAAA,GAAW,IAAK,CAAA,KAAA,CAAM,MAAM,KAAK,CAAA,CAAA;AACvD,EAAA,MAAM,cAAiB,GAAA,SAAA,GAAY,IAAK,CAAA,KAAA,CAAM,MAAM,MAAM,CAAA,CAAA;AAE1D,EAAA,IAAI,gBAAgB,CACpB,EAAA;AACI,IAAS,MAAA,GAAA,QAAA,IAAY,MAAM,KAAQ,GAAA,MAAA,CAAA,CAAA;AAAA,GACvC;AAEA,EAAA,IAAI,iBAAiB,CACrB,EAAA;AACI,IAAS,MAAA,GAAA,SAAA,IAAa,MAAM,MAAS,GAAA,MAAA,CAAA,CAAA;AAAA,GACzC;AAEA,EAAI,IAAA,MAAA,IAAU,CAAK,IAAA,MAAA,IAAU,CAC7B,EAAA;AACI,IAAM,KAAA,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;AAEjB,IAAA,OAAA;AAAA,GACJ;AAEA,EAAA,IAAI,kBAAkB,KAAM,CAAA,KAAA,CAAM,CAAM,KAAA,KAAA,CAAM,MAAM,CACpD,EAAA;AACI,IAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,GAAI,CAAA,MAAA,EAAQ,MAAM,CAAA,CAAA;AAErC,IAAM,KAAA,CAAA,KAAA,CAAM,GAAI,CAAA,KAAA,EAAO,KAAK,CAAA,CAAA;AAAA,GAGhC,MAAA;AACI,IAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,KAAM,CAAA,CAAA,GAAI,MAAM,KAAM,CAAA,CAAA,CAAA;AAE1C,IAAA,IAAI,gBAAgB,cACpB,EAAA;AACI,MAAA,KAAA,CAAM,KAAM,CAAA,GAAA,CAAI,MAAQ,EAAA,MAAA,GAAS,KAAK,CAAA,CAAA;AAAA,KAG1C,MAAA;AACI,MAAA,KAAA,CAAM,KAAM,CAAA,GAAA,CAAI,MAAS,GAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AAAA,KAC1C;AAAA,GACJ;AACJ;;;;"}