Me estoy poniendo en práctica de arrastrar y colocar en una aplicación de cacao y estoy usando el siguiente método del Protocolo NSDraggingSource:Convertir NSPoint en coordenadas de pantalla a la ventana de coordenadas
- (void)draggedImage:(NSImage *)draggedImage movedTo:(NSPoint)screenPoint{
El NSPoint está dada en coordenadas de pantalla y necesito en las coordenadas de la ventana o vista. Si el método se llama con un NSEvent que podía hacer lo siguiente:
-(void)mouseDown:(NSEvent *)pTheEvent {
NSPoint tvarMouseInWindow = [pTheEvent locationInWindow];
NSPoint tvarMouseInView = [self convertPoint:tvarMouseInWindow fromView:nil]; }
Pero no puedo encontrar la manera de hacerlo con sólo un NSPoint. ¡Gracias por adelantado!
Perfecto ... ¡Muchas gracias! – Dillon
'(NSPoint) convertScreenToBase: (NSPoint) aPoint' ahora está en desuso en favor de' (NSRect) convertRectFromScreen: (NSRect) aRect'. Obviamente, uno puede convertir un punto en un rectángulo, usar este método y luego volver a convertir, ¿pero esta es realmente la expresión preferida ahora? Tiene que haber una mejor manera. – Aeonaut
@ Omphalos: no parece haber una manera mejor (o me falta completamente), así que terminé escribiendo un nuevo método en una categoría de NSWindow que crea un NSRect, lo convierte y devuelve el origen de el rect convertido. Como que restaura el comportamiento de '-convertScreenToBase:', y le da la oportunidad de nombrarlo más en línea con otros métodos similares; Llamé a mi '-convertPointFromScreen:'. – Tim