--- Mike Swanson <mikeonthecomputer(a)gmail.com> wrote:
> Hacking an existing *nix filesystem to work on ReactOS just doesn't
> seem right, nor does it seem very practical.
Some of us primarly run Linux and I host mine on ext3 partitions so having the ext2fsd working
under ReactOS helps with the testing and migration path.
Thanks
Steven
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
What I strongly suspect happens is this:
1.The themes service is always loaded and running and holds the theme data
(and it contains details of which .msstyles file to use)
2.At some point (either at startup if the changes are global or when an app
loads if the changes are app specific, I cant find where this bit happens
but I suspect the themes service does this) control passes to ordinal 34 in
uxtheme.dll (aka ThemeHooksInstall acording to uxtheme.pdb). This function
calls an undocumented function in user32 called RegisterUserApiHooks (which
appears to be taylor made for uxtheme to do what it needs to do).
The function hooks:
GetScrollInfo
SetScrollInfo
EnableScrollBar
SetWindowRgn
DefWindowProcW
DefWindowProcA
PreWndProc (probobly stuff that happens internally before the window
procedure gets called)
PostWndProc (probobly stuff that happens internally after the window
procedure gets called)
PreDefDlgProc (probobly connected to dialog boxes)
PostDefDlgProc (probobly connected to dialog boxes)
GetSystemMetrics
SystemParametersInfoA
SystemParametersInfoW
DrawFrameControl
DrawCaption
MDIRedrawFrame (probobly related to MDI frame windows)
This is what causes all apps (including non-theme-aware ones) to get themed
non-client areas (window borders etc)
3.Apps that are theme aware have a manifest, load comctl32.dll 6.0 and
probobly have to call InitCommonControlsEx (although I think some of the
code in the dllmain for comctl32.dll 6.0 may also end up calling
InitCommonControlsEx). This causes new versions of the stock classes
(button, list box, edit, combo box etc etc etc) to be created and
registered. A cursory examination of some of these classes shows that they
dont seem to "pull code" from the stock implementation in user32.dll (i.e.
anything they dont themselves handle goes back to DefWindowProc). In
particular, it doesnt appear as though they have any knowledge of the
classes or window procedures contained in user32.dll.
then 4.Apps that need to do something extra call into functions exported by
uxtheme.dll to do whatever they need to do.
user32.dll seems to have no knowledge whatsoever about themeing and
uxtheme. All that user32 has is RegisterUserApiHooks (and the matching
UnregisterUserApiHooks) that uxtheme uses to hook into user32.dll and do stuff.
Exactly how the theme service and theme engine works "under the hood"
doesnt matter.
But for ReactOS and WINE purposes, I suggest we implement the following:
1.A function similar to RegisterUserApiHooks/UnregisterUserApiHooks (either
reverse engineer the MS function or write our own). This will allow uxtheme
to hook into the global drawing for things like window borders without
user32 needing to care about uxtheme and what uxtheme does (just like how
MS hooks into user32 that way)
2.Whatver code is necessary to get the hooks installed right so that all
apps get the "global" theming like on real windows
3.Support to read the manifest and load a new comctl32.dll that would be
like the version 6 from microsoft (and would contain complete theme-aware
implementations of the stock controls just like MS comctl32.dll 6.0 does)
and 4.All the needed uxtheme exports to make stuff run
This would be the same way Microsoft does things.
User32.dll would have no idea whatsoever about uxtheme and theming
All apps would get non-client-area themeing like on windows.
And only theme aware apps would get themed controls etc (the rest would get
"stock" windows controls)
Oh and btw, if this "reverse engineering" is not "clean room" enough for
WINE and ReactOS, let me know and I will stop posting it :)
Alex,
I managed to shave off another comparison in favor of a shift:
int highest_bit ( int i )
{
int ret = 0;
if ( i > 0xffff )
i >>= 16, ret = 16;
if ( i > 0xff )
i >>= 8, ret += 8;
if ( i > 0xf )
i >>= 4, ret += 4;
if ( i > 0x3 )
i >>= 2, ret += 2;
return ret + (i>>1);
}
FWIW, rdtsc reports that compile for speed is 2x as fast as compile for
size.
I've thought about ways to possibly optimize pipeline throughput for
this, but too many of the calculations depend on results of immediately
previous calculations to get any real advantage.
Here's updated micro-code for BSR, if you really think AMD & Intel will
actually do it...
IF r/m = 0
THEN
ZF := 1;
register := UNDEFINED;
ELSE
ZF := 0;
register := 0;
temp := r/m;
IF OperandSize = 32 THEN
IF (temp & 0xFFFF0000) != 0 THEN
temp >>= 16;
register |= 16;
FI;
FI;
IF (temp & 0xFF00) != 0 THEN
temp >>= 8;
register |= 8;
FI;
IF (temp & 0xF0) != 0 THEN
temp >>= 4;
register |= 4;
FI;
IF (temp & 0xC) != 0 THEN
temp >>= 2;
register |= 2;
FI;
register |= (temp>>1);
FI;
Hi all
A new proposed frontpage for reactos.com can be found here:
http://reactos.com/newsite/reactos_index.html
None of the links go anywhere yet. ezPublish will be phased out and
most of the content hosted in a wiki (editable only by people trusted
in the project).
The wiki/forums/blogs would require a bit of a face-lift so as to look similar.
Comments?
Cheers
Jason
In ca. 16 h I will do SVN update again for the build 0.2.6 RC2
So think about, wether your patch should be submittet now or later.
How about your feelings? Will RC2 be == final actually RC2
---------
So this is what I wanted to send yesterday. However my smtp-provider
didn't work as I would have liked to. Thus I'm doing the LABEL now.
__now
--- Eric Kohl <eric.kohl(a)t-online.de> wrote:
> IMHO, adding missing features to WIDL and fixing resulting bugs in
> rpcrt4 is much more important right now. Access to remote machines, new
> transports (tcp, udp, http, etc.) and a dynamic endpoint mapper (aka
> rpcss) is not that important.
Would it be possible to go ahead and port some of the Wine advapi32 SCM code? Its able to install
and run services such as the Windows Installer so that might solve a few problems we are facing
with the Msi service and CoLinux.
Thanks
Steven
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
Can't that one be transformed to do a Bit Scan Reverse? I guess there are alogorithms for it too. Try near the link I provided. Or try the Angner Fog's optimization manual. If that does not works you could try SuperOptimizer. Is a program that finds algorithms in assembler for some arch (x86 included of course) by means of trying instructions using bruteforce (you can use several computers if you want), usually can be converted back to a HLL. This function is little enought to let superoptimizer work. Find it, is open source software, a little complex and MACROfied piece of code but somehow modifiable to suit your needs.
Best Regards
Waldo Alvarez
________________________________
From: ros-dev-bounces(a)reactos.com on behalf of Royce Mitchell III
Sent: Fri 3/25/2005 4:19 PM
To: ReactOS Development List
Subject: Re: [ros-dev] ping Alex regarding log2() for scheduler
Waldo Alvarez Cañizares wrote:
>but if you are searching a fast BSF replacement...
>
>
Unfortunately we have no need of BSF :(
Is there a similar algo for BSR, which is what we need?
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.com
http://reactos.com:8080/mailman/listinfo/ros-dev
Hi!
Sorry if I sound a little harsh, but I am upset by the fact that i don't
understand what has driven someone to change the style of a file when
adding one line of code from the old (whatever) style to ms style (where
'{' and '}' are on the same line as the if/else keywords - that makes
multiline if/else blocks unreadable to me, I esp. dislike it when the
if-expression is also multiline - like
if (some_very_long_expression_which_does &&
not_fit_onto_a_signle_line) {
...
}
)
I am not sure, but I think it was Alex.
Would you please tell me why you changed the style of the file? I am
pretty much used to the old style, esp. if i have been working on the
file before it's strange for me to see the syntax changed in a way which
i dislike as much as the ms style or whatever it is.
:-/
> > Taking credits for others work is not a nice thing to todo (Thx Alot)..
> > but you made it worse anyway so no hard feelings :-)
> What is it about? Can you point me to time/date/subject you refer to.
Just Wierd that i make one implention of taskmgr their where better than the previous then
some just take some of the work modify it and credit themself.. i where planning of release the
version today with network status and user tab also an vc++ comp. but can see it dont matter.. :-)
> > To talk about something else i start a new projekt called CubeOs
> > and i would like to know if their are any special copyrights in reactos..?
> Just curious: what is the project about?
Its an Reactos Clone did alot of work my self and with some developers not to make a competition
but to make an alternativ with some of my ideas and visions it has allways been my dream... hope
its okay with the reactos team..
By the way thx for your german translation its a littel useless now on reactos but will be very
happy to use it on CubeOS
Greetz Thomas