Pixel flou sur windowedscreen...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Pixel flou sur windowedscreen...

Message par Ollivier »

Je ne comprends pas à quoi est dû ni ce changement d'échelle, ni ce floutage conséquent. Si quelqu'un a une idée à ce sujet, j'espère qu'il pourra m'éclairer...

Code : Tout sélectionner

Procedure Rect(x, y, l, h, c)
  x2 = (x + l) - 1
  y2 = (y + h) - 1
  Line(x, y, x, y2, c)
  Line(x, y, x2, y, c)
  Line(x, y2, x2, y2, c)
  Line(x2, y, x2, y2, c)
EndProcedure

Procedure Screen(Win)
  ww = WindowWidth(Win)
  wh = WindowHeight(Win)
  wmw = ww >> 1
  wmh = wh >> 1
  StartDrawing(ScreenOutput() )
    Box(0, 0, ww, wh, #White)
    Box(10, 10, 1, 1, #Red)
    Box(wmw - 100, wmh - 12, 200, 24, #Black) 
  StopDrawing()
EndProcedure

Procedure WinScreen()
  WinX.L = OpenWindow(-1, 0, 0, 400, 300, "X", $01CF0001)
  If WinX
    MenuX.L = CreateMenu(-1, WindowID(WinX) )
    If MenuX
      OpenSubMenu("Fichier")
        MenuItem($100, "Nouveau"): DisableMenuItem(MenuX, $100, 1)
        MenuBar()
        MenuItem($110, "Ouvrir"): DisableMenuItem(MenuX, $110, 1)
        MenuItem($120, "Enregistrer"): DisableMenuItem(MenuX, $120, 1)
        MenuItem($130, "Enregistrer sous"): DisableMenuItem(MenuX, $130, 1)
        MenuBar()
        MenuItem($1F0, "Quitter")
      CloseSubMenu()
      OpenSubMenu("Edition")
        MenuItem($200, "Couper"): DisableMenuItem(MenuX, $200, 1)
        MenuItem($210, "Copier"): DisableMenuItem(MenuX, $210, 1)
        MenuItem($220, "Coller"): DisableMenuItem(MenuX, $220, 1)
        MenuItem($230, "Supprimer"): DisableMenuItem(MenuX, $230, 1)
      CloseSubMenu()
      OpenSubMenu("Aide")
        MenuItem($300, "A propos de"): DisableMenuItem(MenuX, $300, 1)
      CloseSubMenu()
      InitSprite()
      InitMouse()
      InitKeyboard()
      OpenWindowedScreen(WindowID(WinX), 0, 0, 100, 100, 1, 0, 0)
      Static Exit.L = 0
      Repeat     
        eWindow = WaitWindowEvent()
        aWindow = EventWindow()
        eMenu = EventMenu()
        eGadget = EventGadget()
        Exit = Screen(WinX)
        Select aWindow
          Case WinX
            Select eWindow
              Case #PB_Event_CloseWindow
                Exit = 1
              Case #PB_Event_Menu
                Select eMenu            
                  Case $1F0
                    Exit = 1
                  EndSelect
              Case #PB_Event_Gadget
            EndSelect
        EndSelect      
      Until Exit
    EndIf
  EndIf
  EndProcedure
   
  WinScreen()
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tout viens de ton
OpenWindowedScreen(WindowID(WinX), 0, 0, 100, 100, 1, 0, 0)
en positionant ce parametre a 1 tu stretch le contenue de l'ecran , a la fenetre , ceci explique cela :D



Code : Tout sélectionner

Procedure Rect(x, Y, l, h, c)
    x2 = (x + l) - 1
    y2 = (Y + h) - 1
    Line(x, Y, x, y2, c)
    Line(x, Y, x2, Y, c)
    Line(x, y2, x2, y2, c)
    Line(x2, Y, x2, y2, c)
EndProcedure

Procedure Screen(Win)
    ww = WindowWidth(Win)
    wh = WindowHeight(Win)
    wmw = ww >> 1
    wmh = wh >> 1
    StartDrawing(ScreenOutput() )
    Box(0, 0, ww, wh, #White)
    Box(10, 10, 10, 10, #Red)
   Box(wmw - 100, wmh - 12, 200, 24, #Black)
    StopDrawing()
EndProcedure

Procedure WinScreen()
    WinX.l = OpenWindow(-1, 0, 0, 400, 300, "X", $01CF0001)
    If WinX
        MenuX.l = CreateMenu(-1, WindowID(WinX) )
        If MenuX
            OpenSubMenu("Fichier")
            MenuItem($100, "Nouveau"): DisableMenuItem(MenuX, $100, 1)
            MenuBar()
            MenuItem($110, "Ouvrir"): DisableMenuItem(MenuX, $110, 1)
            MenuItem($120, "Enregistrer"): DisableMenuItem(MenuX, $120, 1)
            MenuItem($130, "Enregistrer sous"): DisableMenuItem(MenuX, $130, 1)
            MenuBar()
            MenuItem($1F0, "Quitter")
            CloseSubMenu()
            OpenSubMenu("Edition")
            MenuItem($200, "Couper"): DisableMenuItem(MenuX, $200, 1)
            MenuItem($210, "Copier"): DisableMenuItem(MenuX, $210, 1)
            MenuItem($220, "Coller"): DisableMenuItem(MenuX, $220, 1)
            MenuItem($230, "Supprimer"): DisableMenuItem(MenuX, $230, 1)
            CloseSubMenu()
            OpenSubMenu("Aide")
            MenuItem($300, "A propos de"): DisableMenuItem(MenuX, $300, 1)
            CloseSubMenu()
            InitSprite()
            InitMouse()
            InitKeyboard()
            OpenWindowedScreen(WindowID(WinX), 0, 0, 100, 100, 0, 0, 0)
            Static Exit.l = 0
            Repeat     
                eWindow = WaitWindowEvent()
                aWindow = EventWindow()
                eMenu = EventMenu()
                eGadget = EventGadget()
                Exit = Screen(WinX)
                Select aWindow
                    Case WinX
                        Select eWindow
                            Case #PB_Event_CloseWindow
                                Exit = 1
                            Case #PB_Event_Menu
                                Select eMenu           
                                    Case $1F0
                                        Exit = 1
                                EndSelect
                            Case #PB_Event_Gadget
                        EndSelect
                EndSelect     
            Until Exit
        EndIf
    EndIf
EndProcedure
   
WinScreen() 
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Merci pour la piste Dobro.
Répondre