Commit Graph

283 Commits

Author SHA1 Message Date
Bill Medland 8513907f2c Drawtext tidying up ready for the next big change:
- Fix brainfade in previous delta
- Move ellipsification results to static memory; they are going to
  have to be referenced inside NextLineW and the arg list is too big
  already.
- Add the missing ellipsification result (len_under) to simplify coding.
- Slight correction to prefix tracking for when there are several
  underlined characters on a single line (DT_EXPANDTABS only).
- Allocate and free the temporary copy required for DT_MODIFYSTRING
  rather than using a fixed size stack array.
- Introduce lastline into the main loop; it simplifies the code and we
  are going to need it.
2002-02-20 18:56:18 +00:00
Bill Medland 7af9098f6b Change the way that DrawText parses the next line to display, ready to
support multiline ellipsification etc.  Rather than measuring the text
each time we add a character and breaking once it is too long and
WORDBREAK is enabled, we copy a whole text segment and then measure
it; GetTextExtentPointEx is designed to tell us how much fitted.  This
may result in a little rescanning if wordbreak is enabled but will be
well worth while when multiline path ellipsification is brought down
into the NextLine function.  Note also that the wordbreak calculation
is a little more complete (e.g.  including break-within-word for
DT_EDITCONTROL).
2002-02-19 18:25:53 +00:00
Patrik Stridvall 651a8ba880 Added some defines for compatibility with Windows headers. 2002-02-15 19:12:35 +00:00
Bill Medland 0f9013f7e0 Measure the text more reasonably. This handles intercharacter spacing
and should handle any kerning etc. that might happen. Also ensure no
wordbreaking on singleline text.
2002-02-15 18:21:59 +00:00
Bill Medland 92d77c9bb2 DrawText should not split words just because of clipping. 2002-02-14 19:21:59 +00:00
Bill Medland cabe8ca580 Put in place a proper tab model within DrawText (also includes
simplifying TEXT_NextLineW to remove duplicate code).
2002-02-12 18:40:36 +00:00
Bill Medland afe92e8e8a Split the path and word/end ellipsification out of the main function
and do them thoroughly. The existing method would be incorrect where
tabs were involved and in some kerning situations.
2002-02-05 18:07:04 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Bill Medland fdb799aa6a Ensure that the whole modified text is returned from DrawTextExA. 2002-02-02 18:14:35 +00:00
Andreas Mohr 2295e87be8 Fixed some more missing parenthesis issues. 2002-02-02 18:06:03 +00:00
Bill Medland 001e732c41 - Introduce a significant design decision.
- Recalculate the prefix location if ellipsification alters it.  This
  carefully does NOT emulate a Microsoft bug in which reprefixing is
  wrong when the first character removed by ellipsification is the one
  that would have been underlined (under Win98 at least).
2002-01-31 20:44:39 +00:00
Bill Medland a4605ac000 Put the prefix-underline-drawing away into it's own function so we can
see what is happening.
2002-01-29 02:46:09 +00:00
Eric Pouech 01ff68943d Fixed initialisation messages for raw DDE.
Fixed DdeCreateDataHandle for non NULL or CF_TEXT formats.
Various fixes (cosmetics, better error checking).
2002-01-18 19:30:15 +00:00
Eric Pouech 0faceb05fc Implemented interprocess DDE message posting. 2002-01-18 19:22:55 +00:00
Bill Medland fcb8e0d77a - Don't string copy from uninitialised stack memory. In fact don't
modify the input string if it didn't change.
- Correct array size.
- Logically separate the centring from the ellipsification.
- Comment on prefix error.
2002-01-18 18:09:09 +00:00
Rein Klazes 49762a3a50 Move the implementation of comctl32._TrackMouseEvent to
user32.TrackMouseEvent and call this function in accordance with the
specs.
2002-01-15 20:41:41 +00:00
Bill Medland fd59f34ec0 First stage of DrawText upgrade.
- Rearrange code into three distinct areas; DrawText, GrayString,
  TabbedText.
- Remove unused macros.
- Modify treatment of Tab arguments to fit with observed behaviour.
  e.g. DrawTextEx with DT_TABSTOP but null dtp will not take the
  setting from the flags.  Also only uses bits 15 to 8, not the
  higher bits.
2002-01-15 20:29:35 +00:00
Alexandre Julliard 466b2b474a Updated debug channels. 2002-01-12 21:17:10 +00:00
Patrik Stridvall 19d66cc1f6 Fixed some issues found by winapi_check. 2002-01-07 21:16:46 +00:00
Mike McCormack 0964495bc4 - Don't use event flags with ReadFileEx and WriteFileEx.
- Use overlapped structure with WriteFile, since FILE_FLAG_OVERLAPPED
  is specified.
- Cancel overlapped operations in CloseComm.
2002-01-07 18:04:50 +00:00
Sander van Leeuwen 500c201b0a Fixed DC leak. 2002-01-04 21:26:56 +00:00
Alexandre Julliard 80a3bb4fc0 Removed LoadOEMResource from USER driver. 2002-01-04 18:27:41 +00:00
Alexandre Julliard cc2d3826f1 Use DrawFrameControl instead of bitmaps in certain cases.
Moved remaining OEM bitmaps to user32 resources.
2002-01-03 02:35:23 +00:00
Alexandre Julliard 2cc54c8c49 Moved the OEM bitmaps that don't depend on the Wine look into the
user32 resources.
2002-01-02 21:49:23 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Andreas Mohr 6924967539 Fixed, added or implemented stubs:
- DrawMenuBarTemp(): corrected parameter count.
- CallCPLEntry16(): stub.
- SetSysColorsTemp(): fully implemented (hopefully) this undocumented
  function.
2001-12-26 20:34:12 +00:00
Michael Stefaniuc 1b3c04d2c1 Check the return value of *snprintf for C99 style overflow reporting. 2001-12-26 19:48:15 +00:00
Mike McCormack 096524c5bf Use alertable waits in PeekMessage16 and GetMessage16 so we can
process APCs for 16bit comms.
2001-12-26 19:46:40 +00:00
Alexandre Julliard 851297919b Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-24 20:30:24 +00:00
Alexandre Julliard d7b76822ef Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-20 00:19:40 +00:00
Alexandre Julliard 8eeed94f5f Export DestroyIcon32 from user32 and use GetProcAddress to call it
from FreeResource16.
2001-12-17 21:40:56 +00:00
Alexandre Julliard 7e49205d5a Changed 16-bit USER Enum* functions to not use thunks, now that 16-bit
Winelib is no longer supported.
2001-12-17 21:37:53 +00:00
Alexandre Julliard 9ec81d1673 Got rid of dynamic thunk allocation in mouse/keyboard event procs and
window hooks.
2001-12-17 21:35:42 +00:00
Alexandre Julliard 70b7619ad6 Changed 16->32 window procedure thunks to use winebuild-generated
entry code directly.
2001-12-14 23:15:44 +00:00
Alexandre Julliard 4964c0f185 Started rewrite of painting functions for multiple processes. Moved
BeginPaint to dlls/user. Fixed bug in paint count handling.
2001-12-13 01:03:30 +00:00
Mike McCormack 5355a7870b Only RTS_CONTROL_HANDSHAKE should set CRTSCTS. 2001-12-13 00:57:58 +00:00
Andriy Palamarchuk 2489dc901d Implemented processing for actions: SPI_GET/SETGRIDGRANULARITY,
SPI_GET/SETICONTITLEWRAP, SPI_GET/SETMENUDROPALIGNMENT,
SPI_GET/SETDOUBLECLKWIDTH, SPI_GET/SETDOUBLECLKHEIGHT,
SPI_GET/SETDOUBLECLICKTIME.
2001-12-06 22:28:43 +00:00
Andriy Palamarchuk c7de3401ac Removed Get/SetScreenSaveTimeout user driver functions because they
are not used.
2001-11-30 23:15:32 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Mike McCormack cce46e5760 Check for completed overlappeds in ReadComm16 to solve problems with
programs that loop on it but don't get data.
2001-11-23 18:26:30 +00:00
Alexandre Julliard 47f9821817 Moved WIN_FindWinToRepaint functionality to the server. 2001-11-14 21:28:36 +00:00
Lawson Whitney 9eaefced36 Cast id to unsigned in GetDlgItem16. 2001-11-12 15:49:38 +00:00
Joshua Thielen 80e7837105 Changed BM_ messages SETCHECK and GETCHECK to SETCHECK16 and
GETCHECK16 in CheckDlgItem16 and IsDlgItemChecked16.
Cast UINT16 value to UINT or INT depending on sign in SetDlgItemInt16.
2001-11-09 19:18:45 +00:00
Mike McCormack daf347ac8b Find out how much data is available when calling ReadFileEx. 2001-11-08 17:06:08 +00:00
Francois Gouget 070e749cfb Don't prefix %p with 0x.
Various English fixes.
2001-11-06 21:01:32 +00:00
Guy Albertelli 38a247fde9 Move SPY_EnterMessage call after all possible exits so that there will
be a matching SPY_ExitMessage.
2001-11-05 23:56:01 +00:00
Jeremy Newman 7c2df090af Replaced Martini glass. 2001-10-28 21:12:54 +00:00
Alexandre Julliard ddc3317b7a Store in the server all the window information accessible with
Get/SetWindowLong.
2001-10-22 19:08:33 +00:00
Mike McCormack c5ea29f99b Return TRUE on success in COMM_BuildOldCommDCB.
DCB16.BaudRate > 57600 means 115200.
OpenComm16 should use overlapped I/O.
2001-10-21 15:01:20 +00:00
Alexandre Julliard 32fb580515 Changed X11 mouse driver to use SendInput, and removed WINE_MOUSEEVENT
hack. Moved mouse.c to dlls/x11drv.
Added KeymapNotify event handler, and fixed handling with multiple
alt/shift/control keys.
Removed dinput functions from USER driver.
2001-10-18 21:38:59 +00:00
Alexandre Julliard 4b62618122 Added support for low-level mouse and keyboard hooks.
Misc keyboard handling cleanups.
2001-10-17 17:50:02 +00:00
Alexandre Julliard 516e40e154 Make sure that GetMessagePos and GetMessageTime return sane values
for all messages.
2001-10-17 17:48:49 +00:00
Alexandre Julliard fb0ff053c0 Added internal Wine messages to perform SetWindowPos, ShowWindow and
SetParent in the correct thread.
Replace QUEUE_IsExitingQueue by USER_IsExitingThread.
Store window rectangles in the server.
Prevent DestroyWindow on windows not belonging to the current thread.
2001-10-16 21:58:58 +00:00
Alexandre Julliard b662e11a00 Moved scrollbar tracking code to scroll.c.
Avoid unnecessary coordinates conversion in NC_HandleSysCommand.
2001-10-16 21:52:26 +00:00
Alexandre Julliard 8fd26b9134 Renamed WIN_GetWndPtr into WIN_GetPtr and added corresponding
WIN_ReleasePtr. Started using it instead of WIN_FindWndPtr where we
don't need to access windows of other processes.
2001-10-15 17:56:45 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Francois Gouget b60c4ce0f0 Don't print NULL strings (crashes on Solaris).
Small code maintainability tweak in ShellExecuteExA.
Two typo fixes in winmm.
2001-10-14 16:15:05 +00:00
Alexandre Julliard 7a2017dd65 Store window properties in the server. Moved property.c to dlls/user. 2001-10-12 19:10:26 +00:00
Alexandre Julliard 2ff4faf66d Moved MAKEINTATOM to winbase.h and added Unicode version. 2001-10-12 18:43:27 +00:00
Alexandre Julliard 90d4b11b3a Renamed USER_Init into UserClientDllInitialize. 2001-10-08 20:42:14 +00:00
Gerard Patel 6559d10489 Fix sign extension problem in map_wparam_WtoA. 2001-10-05 19:42:24 +00:00
Gerard Patel 94ce2a3303 Map a window if it is shown by a direct style change. 2001-10-03 18:44:02 +00:00
Alexandre Julliard a21672ebbc Merged mouse buttons states into the key state array.
Fixed confusion between queue state and async state.
2001-10-02 18:53:59 +00:00
Alexandre Julliard 7695d69046 A couple of optimizations to avoid some server calls in WIN_FindWndPtr
and related functions.
2001-09-24 01:19:59 +00:00
Aric Stewart 1e5777edf5 The behavior for wsprintfA is different that for wsprintf16 in how it
handles NULLs being passed as character parameters.
2001-09-20 19:05:58 +00:00
Alexandre Julliard d23a82bc86 Made all 16<->32 HWND conversions use explicit functions instead of
implicit type casts.
Moved a lot of 16-bit functions to the new wnd16.c file.
Changed DIALOGINFO structure handling to support 32-bit handles.
2001-09-19 20:37:04 +00:00
Alexandre Julliard f44bbb8d10 Make sure that HWND comparisons are always done with full 32-bit
handles.
2001-09-14 00:24:39 +00:00
Alexandre Julliard 37a4639ee1 Make sure that functions returning an HWND always return a full 32-bit
handle.
2001-09-12 17:19:13 +00:00
Guy L. Albertelli db9b54925d Enhance SPY_GetMsgName to translate common control messages. 2001-09-07 18:38:57 +00:00
Alexandre Julliard 0801ffc5a3 Implemented GetAncestor and removed WIN_GetTopParent.
Removed a few more accesses to the WND structure.
2001-08-24 00:26:59 +00:00
Dmitry Timoshkov 2b81ece365 Replaced PROFILE_ functions by RegQueryValueExA. 2001-08-22 18:02:59 +00:00
Eugene Mayevski 4252310c92 Fixed DT_RTLREADING flag interpretation. 2001-08-22 18:00:47 +00:00
Francois Gouget 588ff3743a Documentation updates (mainly thru vs. through). 2001-08-21 17:07:17 +00:00
Alexandre Julliard 4ff32c8aef Removed a number of direct accesses to the window structure. 2001-08-18 18:08:26 +00:00
Alexandre Julliard e007b98e9b Fixed internal inline function that was declared extern. 2001-08-18 16:11:28 +00:00
Alexandre Julliard 301df6b5cd Added names to standard critical sections (suggested by Andreas
Mohr).
2001-08-16 18:12:56 +00:00
Alexandre Julliard 20bc491dc7 Added mappings for a few messages.
Added unicode messages bit set to shortcut message mapping when
possible.
2001-08-13 20:33:21 +00:00
Alexandre Julliard de42428f23 Removed a number of direct accesses to the WND structure, replacing
them by API calls.
2001-08-10 22:51:42 +00:00
Eric Pouech 78a4134e51 - implemented correctly the HSZ as local atoms and added the needed
conversions to global atoms
- enhanced internal handle <=> pointer conversions, as well as
  validity of such objects (life time, destruction, mutual access...)
- fixed a few ANSI/Unicode issues, stores most of the data as Unicode
- started having both Ansi/Unicode DDE window procs for message A/W
  transformation
- fixed a few segmented pointer issues (mainly in DdeInitialize &
  DdeGetData)
- added most of the CBF_ flags handling
- implemented the conversation announcement (XTYP_CONNECT_CONFIRM) on
  server side
- enhanced DdeQueryConfig and implemented DdeReconnect
- implemented conversation termination (including XTYP_UNREGISTER)
- several others code clean up
- added transaction support on server side too
2001-08-09 22:07:22 +00:00
Alexandre Julliard e6533a6b71 Fixed DrawState16 callback support. 2001-08-08 23:26:32 +00:00
Alexandre Julliard d253c58b1b Rewrote most of SendMessage/PeekMessage.
Implemented inter-process messaging.
Moved most message routines to dlls/user, and split off 16-bit
routines to a separate file.
2001-08-07 19:19:08 +00:00
Alexandre Julliard 5edf4e1cef Removed a few unnecessary Callouts. 2001-07-26 20:12:54 +00:00
Travis Michielsen 188b32b73f Fully implement DrawTextEx* functions. 2001-07-26 20:10:40 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Alexandre Julliard 5f728cae70 Removed HEAP_strdupA. 2001-07-24 21:45:22 +00:00
Mike McCormack e4ca13ea82 Move 16-bit COMM code to USER dll. 2001-07-24 20:49:41 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Andreas Mohr a49b5be97d Fixed some more overflowing string traces. 2001-07-17 00:51:00 +00:00
Gerard Patel 2d82be84a5 Fixed unicode warning. 2001-07-17 00:38:50 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Dmitry Timoshkov 3b725f6b9a Fix 'make depend' for out of the source tree build. 2001-06-29 19:20:18 +00:00
Alexandre Julliard ed15fc7de1 Moved ForceWindowRaise to the USER driver and removed the WND driver. 2001-06-29 01:26:41 +00:00
Jau-Horng Chen 8a820bc51a Added Traditional Chinese Support
Fixed sublang font size error when not using fixed-size font.
2001-06-25 21:01:00 +00:00
Alexandre Julliard f9037de2ae Implemented SendInput(). 2001-06-25 20:01:03 +00:00
Eric Pouech 6a03ac0e96 Merge from Corel tree. Contributors are:
- Corel (Sean Langley, Michael Abd-El-Malek, Rick Mutzke, Bill Xing)
- Macadamian on behalf of Corel (Louis-Philippe Gagnon, Jean-Claude Batista)
Also added a few bits:
- Complete window model for several instances and conversations.
- Support for asynchronous transactions.
- Fixed some code (WM_DDE_REQUEST, WM_DDE_ADVISE, WM_DDE_REQUEST) handling.
- Support for wild connections.
2001-06-22 23:02:48 +00:00
Ove Kaaven 624f14e776 Make GetCursorPos call XQueryPointer. 2001-06-21 00:44:09 +00:00
Alexandre Julliard 4b0343dc5f Moved queue paint count to the server. Removed a few no longer used
routines.
2001-06-20 22:55:31 +00:00
Patrik Stridvall a84934403d Fixed some issues found by winapi_check. 2001-06-20 22:53:48 +00:00
Alexandre Julliard 838d65aebe Moved hardware message queue handling to the server. 2001-06-19 19:16:41 +00:00