home *** CD-ROM | disk | FTP | other *** search
- ╠≤δ√∩Φ∞σ<)ΦΦ Φ Φπ≡√
- ╫α±≥ⁿ VII
-
- ±ετΣασ≥σ σπε ± IDirectDraw.CreatePalette, Ωε≥ε≡α ≤±≥αφαΓδΦΓασ≥ ≤Ωατα≥σδⁿ φα ∞α±±ΦΓ ΓΓεΣΦ∞√⌡ Σαφφ√⌡ ∩αδΦ≥≡√, Ωε≥ε≡√Θ
- Φ±∩εδⁿτεΓαδ± Σδ ΦφΦ÷ΦαδΦτα÷ΦΦ εß·σΩ≥α ∩αδΦ≥≡√. ╟α≥σ∞ Γ√ ∩≡Φ±εσΣΦφ σ≥σ σσ Ω ∩εΓσ≡⌡φε±≥Φ DrawSurface Φ εφα ±≥αφσ≥
- Φ±∩εδⁿτεΓα≥ⁿ± αΓ≥ε∞α≥Φ≈σ±ΩΦ Σδ Γ±σ⌡ ∩ε±δσΣ≤■∙Φ⌡ ε∩σ≡α÷ΦΘ. ╩εφσ≈φε µσ, ∩≡σΩ≡α±φε.
-
- ╚≥αΩ, ΩαΩ µσ ∩εδ≤≈Φ≥ⁿ ²≥Φ τφα≈σφΦ ÷Γσ≥εΓ? ╒ε≡ε°ε, φα∩Φ±αδ σ∙σ εΣφ≤ φσßεδⁿ°≤■ ⌠≤φΩ÷Φ■ Σδ Φ⌡ ταπ≡≤τΩΦ Φτ
- ≡α±≥≡εΓεπε Φτεß≡αµσφΦ ΦδΦ ±ετΣαφΦ ÷Γσ≥εΓ ∩ε ≤∞εδ≈αφΦ■, Φ Σδ ±ετΣαφΦ Φ ΓετΓ≡α≥α εß·σΩ≥α IDirectDrawPalette. ╬φα
- ≥αΩµσ φα⌡εΣΦ≥± Γ DDUtils.pas Φ φατ√Γασ≥± DDLoadPalette. ┬√ ∩≡ε±≥ε ∩σ≡σΣαΘ≥σ σΘ Φ∞ Γα°σπε εß·σΩ≥α IDirectDraw δΦßε ±
- Φ∞σφσ∞ ≡α±≥≡εΓεπε Φτεß≡αµσφΦ , δΦßε (σ±δΦ Γ√ ⌡ε≥Φ≥σ ∩αδΦ≥≡≤ ∩ε ≤∞εδ≈αφΦ■) ± ∩≤±≥εΘ ±≥≡εΩεΘ. (╩αΩ Φ Σ≡≤πΦσ ∩≡επ≡α∞∞√,
- DDLoadPalette ±φα≈αδα ∩√≥ασ≥± ταπ≡≤τΦ≥ⁿ ≡α±≥≡εΓεσ Φτεß≡αµσφΦσ Φτ ≡σ±≤≡±α ∩≡ΦδεµσφΦ . ┼±δΦ ²≥ε φσ ≤Σασ≥± , εφα ∩√≥ασ≥-
- ± ταπ≡≤τΦ≥ⁿ ≡α±≥≡εΓεσ Φτεß≡αµσφΦσ Φτ ⌠αΘδα. ▀ φσ ∩εΓ≥ε≡ ■ τΣσ±ⁿ ΩεΣ, ∩ε±ΩεδⁿΩ≤ εφ φσ±ΩεδⁿΩε ΣδΦφφσσ Σ≡≤πΦ⌡ ⌠≤φΩ÷ΦΘ.
- ╬φ πδαΓφ√∞ εß≡ατε∞ Φ∞σσ≥ Σσδε ± ∩≡εΓσ≡ΩεΘ φαδΦ≈Φ ≤ DIB ≥αßδΦ÷√ ÷Γσ≥εΓ, Ωε≥ε≡≤■ εφ τα≥σ∞ Ωε∩Φ≡≤σ≥ Γ ∞α±±ΦΓ ΓΓεΣΦ∞√⌡
- Σαφφ√⌡ ∩αδΦ≥≡√).
-
- ▀ ΣεßαΓΦδ εß·σΩ≥ ∩αδΦ≥≡√ Ω εß· ΓδσφΦ■ ⌠ε≡∞√, ταπ≡≤τΦδ σπε Γ FormShow Φ ∩≡Φ±εσΣΦφΦδ εß·σΩ≥ ∩αδΦ≥≡√ Ω ε±φεΓφεΘ
- ∩εΓσ≡⌡φε±≥Φ ±δσΣ≤■∙Φ∞ εß≡ατε∞:
-
- { ταπ≡≤τΦ≥ⁿ ∩αδΦ≥Ω≤ Φ² ≡α±≥≡εΓεπε Φτεß≡αµσφΦ Φ ∩≡Φ±εσΣΦφΦ≥ⁿ σσ Ω ε±φεΓφεΘ ∩εΓσ≡⌡φε±≥Φ )
- DDPalette : = DDLoadPalette ( DirectDraw, GetBitmapName ) ;
- PrimarySurface , SatPalette ( DDPalette ) ;
-
- ╤ετΣαΓ, Γ√ Σεδµφ√ ε±ΓεßεΣΦ≥ⁿ σπε Φτ ε±φεΓφεΘ ∩εΓσ≡⌡φε±≥Φ Γ FormDestroy:
-
- ( ε±ΓεßεΣΦ≥ⁿ DD-∩αδΦ≥≡≤ }
- if Assigned ( DDPalette ) then DDPalette. Release ;
-
- ╧≡εΣσδαΓ Γ±σ Φτ∞σφσφΦ , Γ√ ∞εµσ≥σ ≥σ∩σ≡ⁿ ∩≡Φ±≥≤∩Φ≥ⁿ Ω ∩≡εΓσ≡Ωσ. DDDemoS ±εΣσ≡µΦ≥ Γ±σ Φτ∞σφσφΦ , εßετφα≈σφφ√σ
- Σε φα±≥ε ∙σπε ∞ε∞σφ≥α.
-
- ╬ß·σΣΦφσφΦσ Γ±σπε Γ∞σ±≥σ
-
- ┬ φα±≥ε ∙ΦΘ ∞ε∞σφ≥ Γ√ ∞εµσ≥σ ±ε±≥αΓΦ≥ⁿ DirectDraw-∩≡Φδεµ±φΦσ ±ε ±∞σφεΘ ±≥≡αφΦ÷, α ≥αΩµσ ταπ≡≤τΦ≥ⁿ ≡α±≥≡εΓεσ
- Φτεß≡αµσφΦσ Φ ∩αδΦ≥≡≤. ╙ Γα± Φ∞σσ≥± Γ±σ φσεß⌡εΣΦ∞εσ Σδ ±ετΣαφΦ ±∞σφ√ ±≥≡αφΦ÷ Φ ∩≡Φ≈σ∞ φα ∩εδφεΘ ±Ωε≡ε±≥Φ! ─δ
- ≥επε, ≈≥εß√ ß√δε σ∙σ Φφ≥σ≡σ±φσΘ, ΩαΩ φα±≈σ≥ αφΦ∞α÷ΦΦ? DirectDraw Γ εΣφεΘ Φτ Σσ∞εφ±≥≡α÷Φεφφ√⌡ ∩≡επ≡α∞∞ Φ±∩εδⁿτ≤σ≥
- ⌠αΘδ ± Φ∞σφσ∞ ALL.BMP. ┬√ ≥αΩµσ φαΘΣσ≥σ σπε Γ ΣΦ≡σΩ≥ε≡ΦΦ DDDenno5. ┬ φσΘ ±εΣσ≡µΦ≥± σ∙σ εΣφε ßεδσσ Φφ≥σ≡σ±φεσ
- ⌠εφεΓεσ Φτεß≡αµσφΦσ Φ φαßε≡ αφΦ∞α÷Φεφφ√⌡ ΩαΣ≡εΓ ± Ω≡α±φ√∞ Γ≡α∙α■∙Φ∞± ≥≡σ⌡∞σ≡φ√∞ ≥ε≡ε∞.
-
- ╧σ≡σΣ ε≈σ≡σΣφεΘ ±∞σφεΘ ±≥≡αφΦ÷√ Γ√ τα⌡ε≥Φ≥σ ε≥εß≡ατΦ≥ⁿ ⌠εφεΓεσ Φτεß≡αµσφΦσ Φ τα≥σ∞ ≥σΩ≤∙ΦΘ αφΦ∞α÷Φεφφ√Θ ΩαΣ≡
- ± ≥ε≡ε∞. ┬√ ±ετΣασ≥σ ≥≡Φ ≥ε≡α Γ ≡ατφ√⌡ ∩ετΦ÷Φ ⌡ φα ²Ω≡αφσ, Ωε≥ε≡√σ ß≤Σ≤≥ Γ≡α∙α≥ⁿ± ± ≡ατφεΘ ±Ωε≡ε±≥ⁿ■. ┬ΓΦΣ≤ ≥επε, ≈≥ε
- ⌠εφεΓ√Θ ß≤⌠σ≡ ß≤Σσ≥ φσ∩≡σ≡√Γφε ∩σ≡σ≡Φ±εΓ√Γα≥ⁿ± , Γ√ Σεδµφ√ ⌡≡αφΦ≥ⁿ πΣσ-φΦß≤Σⁿ σ∙σ Φ±⌡εΣφεσ Φτεß≡αµσφΦσ, ταπ≡≤µσφ-
- φεσ Φτ ALL.BMP. ╧ε²≥ε∞≤ ±ετΣαΘ≥σ Σδ φσπε σ∙σ εΣφ≤ ∩εΓσ≡⌡φε±≥ⁿ DirectDraw. ▌≥ε Γφσ²Ω≡αφφα ∩δε±Ωε±≥ⁿ Φ εφα φσ Φ∞σσ≥
- ε≥φε°σφΦ Ω ±∞σφσ ±≥≡αφΦ÷; φα φσΘ ∞√ ß≤Σσ∞ ⌡≡αφΦ≥ⁿ Φτεß≡αµσφΦσ.
-
- ╤≤∙σ±≥Γσφφε Γαµφε ε≥∞σ≥Φ≥ⁿ, ≈≥ε ∩ε ≤∞εδ≈αφΦ■ DirectDraw ±ετΣασ≥ Φ±⌡εΣφεσ Φτεß≡αµσφΦσ Γ ²Ω≡αφφεΘ ∩α∞ ≥Φ. ▌≥ε
- ετφα≈ασ≥, ≈≥ε ΩεπΣα Γ√ Φ±∩εδⁿτ≤σ≥σ Φτεß≡αµσφΦσ Σδ εßφεΓδσφΦ ⌠εφεΓεπε ß≤⌠σ≡α, δ■ßεΘ ∩≡εΦτΓεΣΦ∞√Θ ßΦ≥εΓ√Θ ∩σ≡σφε±
- Φ±∩εδⁿτ≤σ≥ α∩∩α≡α≥φ√Θ ∩σ≡σφε± ßΦ≥εΓ, σ±δΦ ≥αΩεΓεΘ Φ∞σσ≥± φα π≡α⌠Φ≈σ±ΩεΘ Ωα≡≥σ. ╧≡αΩ≥Φ≈σ±ΩΦ Γ±σ ∩σ≡±εφαδⁿφ√σ Ωε∞∩ⁿ-
- ■≥σ≡√ Γ φα±≥ε ∙σσ Γ≡σ∞ ε±φα∙σφ√ ≤±Ωε≡σφφεΘ π≡α⌠Φ≈σ±ΩεΘ Ωα≡≥εΘ, Ωε≥ε≡≤■ ΩαΩ ≡ατ Φ Φ±∩εδⁿτ≤σ≥ DirectDraw. ┬ΓΦΣ≤ ≥επε,
- ≈≥ε ²≥ε α∩∩α≡α≥φεσ εßσ±∩σ≈σφΦσ ≡αßε≥ασ≥ φα∞φεπε ß√±≥≡σσ, ≈σ∞ ∩≡ε÷σ±±ε≡ Γε Γ≡σ∞ ßΦ≥εΓεπε ∩σ≡σφε±α, Φπ≡√ DirectDraw
- Σεδµφ√ Φ∞σ≥ⁿ ßεδⁿ°≤■ ²⌠⌠σΩ≥ΦΓφε±≥ⁿ ∩ε ε≥φε°σφΦ■ Ω Φπ≡α∞ DOS, πΣσ ∩≡ε÷σ±±ε≡ Σσδασ≥ Γ±σ.
-
- ┴Φ≥εΓ√Θ ∩σ≡σφε± (bit-blitting) - ≥σ≡∞Φφ, Φ±∩εδⁿτ≤σ∞√Θ Σδ ε∩Φ±αφΦ ∩σ≡σφε±α εßδα±≥σΘ ≡α±≥≡εΓ√⌡ Φτεß≡αµσφΦΘ Γ, Φτ
- ΦδΦ Γ ∩≡σΣσδα⌡ Σ≡≤πΦ⌡ ≡α±≥≡εΓ√⌡ Φτεß≡αµσφΦΘ. ╥σ≡∞Φφ ΦφεπΣα τα∩Φ±√Γασ≥± ßεδσσ ≥ε≈φε ΩαΩ bitblting, φε εφ ±δεµσφ Σδ
- ≈≥σφΦ , ∩ε²≥ε∞≤ Γ√ ≈α±≥ε φαΘΣσ≥σ σπε Γ ≡α±≈δσφσφφ√∞ Γ ΓΦΣσ ΣΓ≤⌡ ±δεΓ bit-blitting. BitBIt - Ω≡α≥Ωεσ ε∩Φ±αφΦσ ≥σ≡∞Φφα
- BITmap Block Transfer (∩σ≡σφε± ßδεΩα ≡α±≥≡εΓεπε Φτεß≡αµσφΦ ).
-
- ╚≥αΩ, τα ≡αßε≥≤. ╤ετΣαΘ≥σ ²≥≤ Σε∩εδφΦ≥σδⁿφ≤■ ∩εΓσ≡⌡φε±≥ⁿ Φ φατεΓΦ≥σ σσ Image (Φτεß≡αµσφΦσ). ─εßαΓⁿ≥σ σσ Γ εß· Γδσ-
- φΦσ ⌠ε≡∞√. ▌≥ε ΩαΩ ≡ατ Φ σ±≥ⁿ IDirectDrawSurface, ∩ε²≥ε∞≤ φσ≥ φσεß⌡εΣΦ∞ε±≥Φ ∩≡σΣ±≥αΓδ ≥ⁿ τΣσ±ⁿ ²≥≤ ≥≡ΦΓΦαδⁿφ≤■ ±≥≡εΩ≤
- ΩεΣα. ╟α≥σ∞ ΣεßαΓⁿ≥σ ΩεΣ Γ FormShow, Ωε≥ε≡√Θ ±ετΣασ≥ ≡α±≥≡εΓεσ Φτεß≡αµσφΦσ. ╚±∩εδⁿτ≤Θ≥σ DDLoadBitmap, ²≥ε ≥εδⁿΩε
- εΣφα ±≥≡εΩα! ┬ε≥ εφα:
- Image := DDLoadBitmap (Directdraw, GetBitmapName, ╬, ╬);
-
- ╧ε∞φΦ≥σ, ≈≥ε Γα∞ φσεß⌡εΣΦ∞ε ∩ε∩εδφΦ≥ⁿ ∞σ≥εΣ RestoreSurfaces Φ ≥επΣα Γ√ ∩εδ≤≈Φ≥σ φεΓ≤■ φσ Γφ≤■ ∩εΓσ≡⌡φε±≥ⁿ. ┼±δΦ
- Γε±±≥αφεΓδσφΦσ ε±φεΓφεΘ ∩α∞ ≥Φ ∩εΓσ≡⌡φε±≥Φ ∩≡εΘΣσ≥ φε≡∞αδⁿφε, ∩ε∩√≥αΘ≥σ±ⁿ Γε±±≥αφεΓΦ≥ⁿ ∩εΓσ≡⌡φε±≥φ≤■ ∩α∞ ≥ⁿ Ima-
- ge. ┼±δΦ εßα ≥Φ∩α Γε±±≥αφεΓδσφΦΘ ß≤Σ≤≥ Φ∞σ≥ⁿ ∞σ±≥ε, Γ√τεΓΦ≥σ DrawSurfaces, ΩαΩ ∩εΩαταφε Γ δΦ±≥Φφπσ 32.20.
-
- ╦Φ±≥Φφπ 32.20 ┬ε±±≥αφεΓδσφΦσ Γ±σ⌡ ∩εΓσ≡⌡φε±≥σΘ.
-
- function TFormI. RestoreSurfaces : HResult ;
- begin
- Result òòò= primarySurface. Restore ;
-
-