|
Community > ReactOS Newsletter Archive > ReactOS Newsletter: Nieuwsbrief_64Nieuwsbrief_64by Z98 on 2009-09-15 Kleur en VullingGekleurde cursors zijn geen vaakgebruikte functionaliteit in gewone applicaties, maar games maken er zeker gebruik van en WinAmp is een ander voorbeeld. Bij het gebruik van WinAmp merkt Gregor Schneider dat de muiscursor in een zwarte blok veranderde wanneer hij het wilde gebruiken en dook dus in de code om te zien of hij dit kon oplossen. Op verschillende plaatsen stonden commentaren die de nood aan kleur-ondersteuning aangaven, dus had Gregor wel enkele hints waar code toe te voegen. Gelukkig was het meeste werk redelijk eenvoudig en het aanpassen van de parameters voor de teken-functies samen met het gebruik van een kleurenvlak was genoeg om de basis-functionaliteit te doen werken. Toch waren er nog problemen in de lower-level code binnen het Win32 subsysteem, waar vele stukken code uitgecommentarieerd waren. Hoewel de cursor getoond werd, verscheen het zwarte vakje nog steeds rond de cursor. Terwijl Gregor hieraan werkte had Timo Kreuzer besloten problemen in de Paint applicatie van Benedikt Freisen te bekijken. Paint ziet er goed uit en werkt goed op Windows, maar Timo vond dat het er vreselijk uitzacht op ReactOS. Eén oorzaak hiervan was natuurlijk de gekleurde cursors, en dus werkte hij aan de problemen in de grafische engine. De voornaamste functie hier is SetPointerShape, waarvan er een Drv versie en een Eng versie bestaat, afhankelijk of de grafische driver de functie ondersteund of de grafische engine van Windows dit moet afhandelen. Hoe dan ook ontvangt de functie 2 bitmaps, waarvan de tweede de kleurinformatie voor de cursor bevat. Deze tweede bitmap werd oorspronkelijk genegeerd in de code maar Timo voegde de nodige functionaliteit toe om het te laten werken. Het volgende punt op de lijst is alphablending. Een ander probleem waaraan Gregor werkte was ook blootgelegd door de Paint applicatie. Terwijl hij deze gebruikte merkte Gregor dat zijn favoriete tool, de bucket-fill, niet werkte. Na wat onderzoek vond hij dat de flood-fill functionaliteit niet voltooid was. De meeste code bestond wel en de opeenvolging van functies voor de flood-fill was er ook, behalve de laatste set die het eigenlijke tekenwerk vervult. Gregor voegde een simplistische implementatie toe en optimaliseerde die tot de performantie geschikt was voor het gebruik. topDelay ImportDynamic Link Libraries worden gebruikt om code en functionaliteit tussen applicaties te delen zonder die functionaliteit in elke applicatie te moeten dupliceren. Dit bespaart geheugen omdat een enkele instantie van de bibliotheek geladen kan worden om door meerdere applicaties gebruikt te worden. Tegelijkertijd kan het initiële laden van die bibliotheek voor wat vertraging zorgen bij het opstarten van de applicatie. Een manier om deze overhead te vermijden is het uitstellen van het laden van de bibliotheek totdat dit echt nodig is, vermoedelijk nadat de applicatie is opgestart. Dit is wat Delay Import doet maar helaas was er nog geen ondersteuning geïmplementeerd in dlltool. Dus voegde Timo Kreuzer deze toe. De implementatie zelf was redelijk eenvoudig, hoewel Timo worstelde met het opzetten van de build-omgeving voor dlltool. De patch is terug aan de originele ontwikkelaars bezorgd zodat hopelijk meer mensen ervan kunnen geniet en het mingw x64 team heeft ook al zijn interesse getoond. Het porteren zou volgens Timo redelijk eenvoudig zijn. topCompatibility DatabaseNa enkele jaren te verkommeren is zowel de frontend interface als de backend database layout herschreven door Danny Götte, waardoor het makkelijk wordt entries te creëren en editeren. Nu al ziet de database er veel beter uit dan in het verleden en sinds de lancering heeft Danny ze blijven verfijnen op basis van de feedback van gebruikers. Het ultieme doel is dat de database ook entries over hardware zal hebben, en de ad-hoc lijstjes op de wiki zal vervangen. Iedereen is dus uitgenodigd om het uit te testen en te zien hoe goed het werkt. HOe meer entries er zijn, hoe makkelijker het zal zijn om te zien wat wel en niet werkt binnen ReactOS. topWinnaar Website OntwerpOnze felicitaties aan Shek-Yu Leung, ook bekend als numpy op het forum. Zijn ontwerpen evolueerde tijdens het insturen van 4 ontwerpen en de laatste werd door de jury als de beste van alle inzendingen beschouwd. Algemeen gingen de inzendingen van eenvoudige herschikkingen van de huidige layout en stijl tot volldige reskins en het omgooien van kleurschemas. Er waren enkele creatieve layouts die uiteindelijk zullen dienen als inspiratie voor het herontwerp van de website, maar die van Leung was één van de weinige die een combinatie vormden van zowel een visuele verfrissing als van enkele interessante ideeën voor een nieuwe frontpagina layout. Het ReactOS team bedankt alle deelnemers voor hun inspanningen.
top |