package Ġg ln Ċ Ċ import Ġg ln . d sa . d sa ARB Ċ import Ġg ln . d sa . d sa Core Ċ import Ġg ln . d sa . d sa Interface Ċ import Ġg ln . identifiers . Gl Framebuffer Ċ import Ġg ln . identifiers . Gl Frame buffers Ċ import Ġorg . lwjgl . opengl . GL 1 1 C Ċ Ċ @ Functional Interface Ċ private Ġinterface ĠState Changed Callback Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġinvoke ( block Ġ: Ġ() Ġ-> ĠString ) Ċ } Ċ Ċ enum Ġclass ĠD SA Type Ġ{ ĊĠĠĠ ĠAR B , ĊĠĠĠ ĠCORE , ĊĠĠĠ ĠNONE Ċ } Ċ Ċ object ĠOpen Gl State Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġ_ d sa Ġ= ĠD SA Type . CORE ĊĊĠĠĠ Ġvar Ġd sa : ĠD SA Type ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ d sa ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ{ Ġ" D SA ĠMode Ġwas Ġ$_ d sa , Ġis Ġnow Ġ$ value " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ d sa Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġval Ġd sa Class : Ġd sa Interface ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen (_ d sa ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD SA Type . CORE Ġ-> Ġd sa Core ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD SA Type . ARB Ġ-> Ġd sa ARB ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD SA Type . NONE Ġ-> Ġthrow ĠRuntimeException (" D SA ĠWas Ġset Ġto Ġoff Ġand Ġthen Ġcalled !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġc ull Face Enabled : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġinternal Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ{ Ġ" Cull ĠFace ĠEnabled Ġwas Ġ$ field , Ġis Ġnow Ġ$ value " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġc ull Face Mode Ġ= ĠC ull Face Mode ( GL 1 1 C . GL _ BACK ) ĊĠĠĠĠĠĠĠ Ġinternal Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( logic Op Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Cull ĠFace ĠMode Ġwas Ġ$ field , Ġis Ġnow Ġ$ value " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Cull ĠFace ĠMode Ġwas Ġ$ field , Ġis Ġnow Ġ$ value . ĠHowever , ĠC ull ĠFace Ġis Ġdisabled !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġvar Ġlogic Op Enabled : ĠBoolean Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġinternal Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ{ Ġ" Logic ĠOp ĠEnabled Ġwas Ġ$ field , Ġis Ġnow Ġ$ value " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġvar Ġlogic Op Ġ= ĠLogic Op ( GL 1 1 C . GL _ FALSE ) ĊĠĠĠĠĠĠĠ Ġinternal Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( logic Op Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Logic ĠOp Ġwas Ġ$ field , Ġis Ġnow Ġ$ value " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Logic ĠOp Ġwas Ġ$ field , Ġis Ġnow Ġ$ value . ĠHowever , ĠLogic ĠOp Ġis Ġdisabled !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Published Api ĊĠĠĠ Ġinternal Ġvar Ġ_ framebuffer Ġ= ĠGl Framebuffer . DEFAULT ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwas Ġ= Ġif ( field Ġ== ĠGl Framebuffer . DEFAULT ) Ġ" screen " Ġelse Ġ"${ value . name }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnew Ġ= Ġif ( value Ġ== ĠGl Framebuffer . DEFAULT ) Ġ" screen " Ġelse Ġ"${ value . name }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Framebuffer Ġwas Ġ$ was , Ġis Ġnow Ġ$ value " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġframebuffer : ĠGl Framebuffer ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ framebuffer ĊĊĊĠĠĠ Ġ@ Suppress (" OVERRIDE _ BY _ INLINE ") ĊĠĠĠ Ġprivate Ġval Ġnull Callback : ĠState Changed Callback Ġ= Ġobject Ġ: ĠState Changed Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġinline Ġfun Ġinvoke ( block : Ġ() Ġ-> ĠString ) Ġ{} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġupdate Callback : ĠState Changed Callback Ġ= Ġobject Ġ: ĠState Changed Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( block : Ġ() Ġ-> ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( block ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġvalue Changed : ĠState Changed Callback Ġ= Ġnull Callback ĊĊĠĠĠ Ġvar Ġtracking Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġupdate Callback Ġ!= Ġnull Callback ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Changed Ġ= Ġif ( value ) Ġupdate Callback Ġelse Ġnull Callback ĊĠĠĠĠĠĠĠ Ġ} Ċ }